当前位置: 首页 > news >正文

福州全网网站建设山东兽药网站建设

福州全网网站建设,山东兽药网站建设,儿童 网站 设计,地情网站建设方案试着不用if撸代码#xff0c;是件很有趣的事#xff0c;而且#xff0c;万一你领会了什么是“数据即代码#xff0c;代码即数据”呢#xff1f;我在教新手编程时#xff0c;喜欢给他们一些小小的挑战#xff0c;比如#xff1a;不使用if语句(或者三元运算符、switch语句… 试着不用if撸代码是件很有趣的事而且万一你领会了什么是“数据即代码代码即数据”呢我在教新手编程时喜欢给他们一些小小的挑战比如不使用if语句(或者三元运算符、switch语句等)解决一些编程问题。这样做有什么意义吗事实上它可以迫使你从不同的角度寻找解决方法也许可以找到更好的方法。当然使用if语句没有任何不对的地方。但是不使用if的话有时候可以增加代码的可读性。这一点并不是绝对的如果完全不使用if语句的话代码可读性也许会更差。这需要你根据不同情况去判断。而且不用if的话不只是影响可读性。在这背后隐含着更加深刻的道理。通过了解本文的代码示例你可以发现如果不使用if语句的话你的代码会更加接近代码即数据的概念。另外当你尝试不使用if语句去编程时也是一件非常有意思的事情。示例1统计数组中的奇数假设我们有一个整数数组arrayOfIntegers现在需要统计其中奇数的个数const arrayOfIntegers  [1, 4, 5, 9, 0, -1, 5];使用iflet counter  0;arrayOfIntegers.forEach((integer)  {  const remainder  Math.abs(integer % 2);  if (remainder  1) {    counter;  }});console.log(counter);不用iflet counter  0;arrayOfIntegers.forEach((integer)  {  const remainder  Math.abs(integer % 2);  counter  remainder;});console.log(counter);不用if时我们巧妙地利用了奇数与偶数的特性它们除以2的余数分别是0和1。示例2 判断工作日和周末给定一个日期(比如new Date())判断它是工作日还是周末分别返回”weekend”和”weekday”。使用ifconst weekendOrWeekday  (inputDate)  {  const day  inputDate.getDay();  if (day  0 || day  6) {    return weekend;  }   return weekday;  // Or, for ternary fans:  // return (day  0 || day  6) ? weekend : weekday;};console.log(weekendOrWeekday(new Date()));不用ifconst weekendOrWeekday  (inputDate)  {  const day  inputDate.getDay();  return weekendOrWeekday.labels[day] ||          weekendOrWeekday.labels[default];};weekendOrWeekday.labels  {   0: weekend,   6: weekend,   default: weekday };console.log(weekendOrWeekday(new Date()));你是否发现if语句中其实隐含着一些信息呢它告诉我们哪一天是周末哪一天是工作日。因此要去掉if语句的话我们只需要把这些信息写入weekendOrWeekday.labels对象然后直接使用它就好了。广告 如果你需要监控线上JavaScript代码的错误的话欢迎免费使用Fundebug!示例3: doubler函数写一个doubler函数它会根据参数的类型进行不同的操作如果参数是数字则乘以2(i.e. 5 10, -10 -20)如果参数是字符串则每个字符重复2次 (i.e. hello hheelloo)如果参数是函数则调用2次如果参数是数组则将每一个元素作为参数调用doubler函数如果参数是对象则将每个属性值作为参数调用doubler函数使用switchconst doubler  (input)  {  switch (typeof input) {    case number:      return input  input;    case string:      return input        .split()        .map((letter)  letter  letter)        .join();    case object:      Object.keys(input)            .map((key)  (input[key]  doubler(input[key])));      return input;    case function:      input();      input();  }};console.log(doubler(-10));console.log(doubler(hey));console.log(doubler([5, hello]));console.log(doubler({ a: 5, b: hello }));console.log(  doubler(function() {    console.log(call-me);  }),);不用switchconst doubler  (input)  {  return doubler.operationsByType[typeof input](input);};doubler.operationsByType  {  number: (input)  input  input,  string: (input)     input      .split()      .map((letter)  letter  letter)      .join(),  function: (input)  {    input();    input();  },  object: (input)  {    Object.keys(input)          .map((key)  (input[key]  doubler(input[key])));    return input;  },};console.log(doubler(-10));console.log(doubler(hey));console.log(doubler([5, hello]));console.log(doubler({ a: 5, b: hello }));console.log(  doubler(function() {    console.log(call-me);  }),);可知我将每一种参数类型对应的操作绑定到了doubler.operationsByType这样不需要switch语句就可以实现doubler函数了。来源Fundedbug博客链接https://blog.fundebug.com/2017/11/06/write-javascript-without-if/原文https://medium.com/samerbuna/coding-tip-try-to-code-without-if-statements-d06799eed231版权归原作者所有转载仅供学习使用不用于任何商业用途如有侵权请留言联系删除感谢合作。数据与算法之美用数据解决不可能长按扫码关注
http://www.zqtcl.cn/news/760413/

相关文章:

  • 马鞍山什么房产网站做的好网速
  • 国外做兼职网站软件园二期做网站的公司
  • 淘客网站备案教程网页设计与制作教程十四五规划
  • 哪些网站可以做外部锚文本网页设计个人简历怎么做
  • 福州网站营销北京著名网站建设公司
  • 导购网站开发 源码wordpress 获取总页数
  • 网站名查找wordpress评论人
  • 网络推广最好的网站有哪些wordpress怎么用万网域名
  • 大连仟亿科技网站建设公司 概况网络信用贷款哪个好
  • 配置了iis打不开网站外贸建站哪个最便宜
  • 酒店网站建设描述免费建站网站有哪些
  • 做宠物的网站主题思想网站建设 司法公开的需要
  • 建站图标素材前端面试题2022
  • 宁夏住房建设厅网站官网最新版cmsv6
  • 网站建设备案和免备案的区别建网站视频教程
  • 网站推广话术wordpress主题没法用
  • 微信网站开发 全屏包头教育云平台网站建设
  • 诸城手机网站建设做竞价网站
  • 网站策划报告公司简介模板范文高大上
  • 做信息图的免费网站如何获取网站是哪个公司制作
  • 乐清建设网站哪家好seo一个月赚多少钱
  • 哈尔滨专业官网建站企业h5公众号开发
  • 商城网站建设精英wordpress实例配置
  • 国内网站开发语言模板兔自用主题WordPress
  • 天津营销网站建设公司哪家好市场营销平台
  • 上海企业响应式网站建设推荐网站建设类织梦模板
  • 洛阳最好的做网站的公司哪家好信誉好的邢台做网站
  • 织梦 旅游网站模板seo百家外链网站
  • 做网站提升公司形象摄影网站建设任务书
  • wordpress建站不好用wordpress共用用户多站点