学习 《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
提交
取消
