为了账号安全,请及时绑定邮箱和手机立即绑定

return !function() 与 return function() ? false : t

return !function() 与 return function() ? false : t

喵喔喔 2018-09-04 09:25:39
学习 《JavaScript DOM编程艺术 第2版》(中文)时候遇到的问题links[i].onclick = function() {    return !showPic(this); // showPic(this) ? false : true}我自己试了试,两者结果一样,这两种方法在执行效率上有什么区别吗?
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

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

写了一段脚本实测了一下:

var t1 = Date.parse(new Date());                                                    
var a = true;                                                                       
function set_a(p) {                                                                 
  var tmp = !p;                                                                     
  return tmp;                                                                       
}                                                                                   
for (var i=0; i<1000000000; i++) {                                                  
  a = a ? false : true;                                                             
}                                                                                   
var t2 = Date.parse(new Date());                                                    
console.log(t2-t1);                                                                 
                                                                                    
                                                                                    
for (var i=0; i<1000000000; i++) {                                                  
  a = !a;                                                                           
}                                                                                                                                                                                           
var t3 = Date.parse(new Date());                                                    
console.log(t3-t2);

Result:

[root@iZ94dn8i2nsZ js]# node answer.js 20002000

两种方式分别运行了十亿此,使用了2000ms,也就是分别跑了2秒钟时间。

效率一样。


查看完整回答
反对 回复 2018-10-21
  • 1 回答
  • 0 关注
  • 761 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号