探討js中的雙感嘆號(hào)判斷
更新時(shí)間:2013年11月11日 11:38:10 作者:
js中的雙感嘆號(hào)判斷。在網(wǎng)上查了些資料,他相當(dāng)于三元運(yùn)算符,返回boolean值
今天看qunit源代碼,發(fā)現(xiàn)一段很奇怪的代碼,雖然能領(lǐng)會(huì)他的意思,但是不明白雙感嘆號(hào)起到的作用。
function id( name ) {
return !!( typeof document !== "undefined" && document && document.getElementById ) &&
document.getElementById( name );
}
然后去網(wǎng)上查了些資料,他相當(dāng)于三元運(yùn)算符,返回boolean值。
var ret = !!document.getElementById
等價(jià)于:
var ret = document.getElementById ? true : false;
當(dāng)值是非空字符串和非零數(shù)字返回true,當(dāng)值是空字符串、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
復(fù)制代碼 代碼如下:
function id( name ) {
return !!( typeof document !== "undefined" && document && document.getElementById ) &&
document.getElementById( name );
}
然后去網(wǎng)上查了些資料,他相當(dāng)于三元運(yùn)算符,返回boolean值。
復(fù)制代碼 代碼如下:
var ret = !!document.getElementById
等價(jià)于:
復(fù)制代碼 代碼如下:
var ret = document.getElementById ? true : false;
當(dāng)值是非空字符串和非零數(shù)字返回true,當(dāng)值是空字符串、0或者null返回false。
復(fù)制代碼 代碼如下:
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
相關(guān)文章
js寫出遮罩層登陸框和對(duì)聯(lián)廣告并自動(dòng)跟隨滾動(dòng)條滾動(dòng)
這篇文章主要介紹了js寫出遮罩層登陸框和對(duì)聯(lián)廣告并自動(dòng)跟隨滾動(dòng)條滾動(dòng),需要的朋友可以參考下2014-04-04寫入cookie的JavaScript代碼庫(kù) cookieLibrary.js
cookieLibrary.js 寫入cookie的JavaScript代碼庫(kù),需要的朋友可以參考下。2009-10-10關(guān)于驗(yàn)證碼在IE中不刷新的快速解決方法
下面小編就為大家?guī)?lái)一篇關(guān)于驗(yàn)證碼在IE中不刷新的快速解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09javascript:void(0)用法及常見問(wèn)題分析
javascript:void(0) 在某些情況下會(huì)有瀏覽器不兼容的bug。下面我們先來(lái)看下javascript:void(0) 的基礎(chǔ)介紹及用法,然后再來(lái)看使用它會(huì)出現(xiàn)什么問(wèn)題,該怎么解決,感興趣的朋友跟隨小編一起看看吧2023-10-10JavaScript 動(dòng)態(tài)生成方法的例子
動(dòng)態(tài)生成方法的例子,這些方法在新對(duì)象實(shí)例化的時(shí)候創(chuàng)建2009-07-07List the Codec Files on a Computer
List the Codec Files on a Computer...2007-06-06JavaScript微信定位功能實(shí)現(xiàn)方法
這篇文章主要介紹了JavaScript微信定位功能實(shí)現(xiàn)方法,將定位到的經(jīng)緯度轉(zhuǎn)換為百度地圖對(duì)應(yīng)的經(jīng)緯度,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Javascript自執(zhí)行匿名函數(shù)(function() { })()的原理淺析
匿名函數(shù)就是沒(méi)有函數(shù)名的函數(shù)。這篇文章主要介紹了Javascript自執(zhí)行匿名函數(shù)(function() { })()的原理淺析的相關(guān)資料,需要的朋友可以參考下2016-05-05