手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >探讨js中的双感叹号判断
探讨js中的双感叹号判断
摘要:今天看qunit源代码,发现一段很奇怪的代码,虽然能领会他的意思,但是不明白双感叹号起到的作用。复制代码代码如下:functionid(na...

今天看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

【探讨js中的双感叹号判断】相关文章:

详解Javascript中的Object对象

浅谈javascript中for in 和 for each in的区别

简单谈谈javascript中this的隐式绑定

理解javascript中的with关键字

JavaScript中的条件判断语句使用详解

IE浏览器下PNG相关功能

javascript中this的四种用法

javascript中createElement的两种创建方式

JavaScript中的this机制

深入理解JavaScript中的对象

精品推荐
分类导航