核心提示:双逻辑非操作符的作用双逻辑非操作,会把一个值(数字,字符串..)转换为布尔值。第一次逻辑非操作取反的布尔,第二次获得最初元素本身对应的布尔。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 已经是布尔值,所以使用双逻辑非操作符提高了程序执行的效率。 这里说的先储存后的访问效果好,说的就是先储存布尔值。 */