探討js中的雙感嘆號判斷
更新時間:2013年11月11日 11:38:10 作者:
js中的雙感嘆號判斷。在網上查了些資料,他相當于三元運算符,返回boolean值
今天看qunit源代碼,發(fā)現一段很奇怪的代碼,雖然能領會他的意思,但是不明白雙感嘆號起到的作用。
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
相關文章
詳解JavaScript如何創(chuàng)建一個非自動播放的GIF網絡組件
這篇文章主要為大家介紹了如何利用JavaScript創(chuàng)建一個允許您的用戶決定是否要播放gif的Web組件,文中的實現步驟講解詳細,需要的可以參考一下2022-02-02
javascript 瀏覽器類型和版本號檢測代碼(兼容多瀏覽器)
果對javascript了解不是特別深入的話,很容易就會寫出不兼容的代碼(就像我),這時候就得判斷瀏覽器了。比如事件偵聽、一些鼠標和鍵盤事件、Range等,一些都會不一樣.下面列出幾種常用的檢測瀏覽器方法,以饗觀眾!2010-04-04
經典面試題之JavaScript?for循環(huán)(var?let)
如果你也在面試找工作,那么也一定遇到過這道for循環(huán)打印結果的題,下面我們來探討下,對經典面試題之js?for循環(huán)相關知識感興趣的朋友跟隨小編一起看看吧2023-10-10

