探讨js中的双感叹号判断
更新时间:2013年11月11日 11:38:10 作者:
js中的双感叹号判断。在网上查了些资料,他相当于三元运算符,返回boolean值
今天看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
复制代码 代码如下:
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
相关文章
写入cookie的JavaScript代码库 cookieLibrary.js
cookieLibrary.js 写入cookie的JavaScript代码库,需要的朋友可以参考下。2009-10-10List the Codec Files on a Computer
List the Codec Files on a Computer...2007-06-06Javascript自执行匿名函数(function() { })()的原理浅析
匿名函数就是没有函数名的函数。这篇文章主要介绍了Javascript自执行匿名函数(function() { })()的原理浅析的相关资料,需要的朋友可以参考下2016-05-05
最新评论