您好,欢迎来到盖帽养生。
搜索
您的当前位置:首页探讨js中的双感叹号判断_javascript技巧

探讨js中的双感叹号判断_javascript技巧

来源:盖帽养生


今天看qunit源代码,发现一段很奇怪的代码,虽然能领会他的意思,但是不明白双感叹号起到的作用。
代码如下:
function id( name ) {
return !!( typeof document !== "undefined" && document && document.getElementById ) &&
document.getElementById( name );
}

然后去网上查了些资料,他相当于三元运算符,返回boolean值。
代码如下:
var ret = !!document.getElementById

等价于:
代码如下:
var ret = document.getElementById ? true : false;  

当值是非空字符串和非零数字返回true,当值是空字符串、0或者null返回false。
代码如下:
var a = " "; alert(!!a); //true
var a = "s"; alert(!!a); //true
var a = true; alert(!!a); //true
var a = 1; alert(!!a); //true
var a = -1; alert(!!a); //true
var a = -2; alert(!!a); //true

var a = 0; alert(!!a); //false
var a = ""; alert(!!a); //false
var a = false; alert(!!a); //false
var a = null; alert(!!a); //false

Copyright © 2019- gmnft.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务