开发者

你试过不用if写代码吗??

译者按下:不用if写代码是一件有趣的事情,并且,如果知道什么是数据代码,代码是数据的话?

我在教初学者编程时,喜欢给他们一些小挑战。例如,不使用if语句(或三元计算符、switch语句等)来解决编程问题。

这有什么意义?

事实上,它可以强迫你从不同的角度寻找解决方案,也许你可以找到更好的方法。

当然,使用if语句没有错误。但如果你不使用if,你可以增加代码的可读性。这一点并不是绝对的,如果你根本不用if词句,代码可读性可能会更差。这需要你根据情况来判断。

而且不使用if不仅影响可读性。这背后隐藏着更深刻的道理。通过了解本文的代码示例,您可以发现,如果您不使用if语句,您的代码将更接近代码即数据的概念。

另外,不用if语句编程也很有趣。

假设我们有整数组arrrayOfinters开发者_开发百科,我们现在需要统计其中奇数的个数:

constarayOfinters=[1,4,5,0,1,5]

使用if

letconters=[1,4,5,0,1,5]

使用if/stronternters=

interayOfinters=0;巧妙地除外

示例2:判断工作日和周末

判断为工作日和周末,分别返回wekend和wekday。

使用if

constwekendorWekday=(inputdate)=gt;{constday=inputdate.getday();if(day===0||day====6){return在weekend上;}return在wekenday中;//ornfortry======0||day====6){return在wekekeken中;}weekend:wekday}console.log(wekendorwekday(newdate=)

不使用if

constwekenday=(inputdatenday=inputday=inputdatday();returnstday:告诉我们哪天是周末,哪天是工作日。因此,要删除if语,只需将这些信息写入weekendOrWekday.labels对象中,直接使用即可。

广告:如果需要监视在线JavaScript代码的错误,请免费使用Fundebug

函数,根据参数的类型进行不同的操作:

如果参数是数字,则乘以2(i.elt=gt;applet-10t=gt;如果参数是字符串,则每个字符重复2次(i.ellot=gt;heloot;如果参数是函数,则调用2次。

注:为了保证可读性,本文采用意义翻译而不是直译。另外,本文版权归原作者所有,翻译仅用于学习。

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜