且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

javascript - return !function() 与 return function() ? false : true 含义一样吗?

更新时间:2023-12-04 11:22:40

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

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

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 
2000
2000

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

效率一样。