您现在的位置:首页 >> 前端 >> 内容

双逻辑非(!!)操作符

时间:2017/5/11 9:18:00 点击:

  核心提示:双逻辑非操作符的作用双逻辑非操作,会把一个值(数字,字符串..)转换为布尔值。第一次逻辑非操作取反的布尔,第二次获得最初元素本身对应的布尔。alert(!!false); //falsealert(!...

双逻辑非操作符的作用

双逻辑非操作,会把一个值(数字,字符串…..)转换为布尔值。第一次逻辑非操作取反的布尔,第二次获得最初元素本身对应的布尔。

alert(!!false);     //false

alert(!!"blue");    //true

alert(!!0);         //false

alert(!!NaN)        //false

alert(!!12345)     //true

双逻辑非操作符的优点

双逻辑非操作符提高了程序执行的效率,比先存储后访问的效果更好。

var res1 = (0 && undefined);     //0
var res2 = !!(0 && undefined);   //false

/*
对于 res1 我们每次还需要隐式转换成布尔值,if(Boolean(res1)),而 res2 已经是布尔值,所以使用双逻辑非操作符提高了程序执行的效率。

这里说的先储存后的访问效果好,说的就是先储存布尔值。
*/

作者:网络 来源:江南北