学习 《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秒钟时间。
效率一样。
添加回答
举报
0/150
提交
取消