return !function() 与 return function() ? false : t 财富值34

2016-10-24 07:32发布

4430 13 4

学习 《JavaScript DOM编程艺术 第2版》(中文)时候遇到的问题

links[i].onclick = function() {     return !showPic(this); // showPic(this) ? false : true }

我自己试了试,两者结果一样,这两种方法在执行效率上有什么区别吗?

自定义标题
段落格式
字体
字号
代码语言
13条回答

何况在这个业务场景下,函数更不会同时被调用个几万次,在这种程度下,两者几乎可以看作是相同开销的。

26人赞 添加讨论(1) 举报

这两种方式都是使用最基本的操作符,效率应该是一样的。

78人赞 添加讨论(0)举报

效率一样。

77人赞 添加讨论(0)举报

额,这点写法上的不同,实际运行中根本无需care,一般解释器都会帮你做优化的。像三目运算符这种常用的语法糖,如果会引起额外的副作用,各种教科书早就在介绍它的时候把它批判一番。

73人赞 添加讨论(0)举报

当然,明显前者比后者的可读性要更高。

54人赞 添加讨论(0)举报

如果showPic并没有被复用,只在这里先执行,再返回值做判断的话,建议把回调写成

46人赞 添加讨论(0)举报

当然在这个代码中,onClick以后,并没有后续的操作来接收return后的返回值吧,所以甚至连return都可以不加?

45人赞 添加讨论(0)举报

语义会更清晰一些。

43人赞 添加讨论(0)举报

Result:

40人赞 添加讨论(0)举报

所以放心用好了。

38人赞 添加讨论(0)举报

作为程序员,你更需要关心的是: 这段代码,哪一种写法 可读性 更高。

33人赞 添加讨论(0)举报

一周热门 更多>