今天看qunit原始碼,發現一段很奇怪的程式碼,雖然能領會他的意思,但是不明白雙感嘆號起到的作用。
function id( name ) { ( typeof document !== "undefined" && document && document.getElementById ) &&
document.getElementById( name );
}
}
複製程式碼
程式碼如下:var ret = !!document.getElementBy.g. 🎜>
等價於:
複製程式碼
當值是非空字串和非零數字回傳true,當值是空字串、0或null回傳false。
複製程式碼
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