是bol === !0
與bol == true
完全一樣嗎?'bol ===!0'和'bol == true'是一樣的嗎?
例子:
function myFunction(bol){
if(bol===!0){
return 1;
}else{
return -1;
}
}
alert(myFunction(true));//1
我將永遠遇到的問題,如果我決定使用它? (與代碼可讀性不同)
是bol === !0
與bol == true
完全一樣嗎?'bol ===!0'和'bol == true'是一樣的嗎?
例子:
function myFunction(bol){
if(bol===!0){
return 1;
}else{
return -1;
}
}
alert(myFunction(true));//1
我將永遠遇到的問題,如果我決定使用它? (與代碼可讀性不同)
1 == true
是true
但是1 === !0
是錯誤的。
由於!0
是true
,這相當於bol === true
。注意你應該如何使用三個等號來得到完全相同的行爲。
的===
意味着JavaScript就不試圖要挾值進行比較時。如果你真的想要強制,你會使用==
。然而,在這種情況下,if
只會爲你強制:
if (bol) { ... }
是基本相同的[JavaScript的===
if (bol == true) { ... }
所以'BOL ===!0' ==='BOL === TRUE'? – mithril333221 2012-01-14 01:44:59
是的,因爲你評估'!0'第一,這等於'真'。 – 2012-01-14 01:47:30
可能重複VS ==:不管哪個它「平等「運營商怎麼用?(http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use) – 2012-01-14 01:37:24
我很好奇,這個代碼是什麼被用於? – Ktash 2012-01-14 01:37:31
@MДΓΓБДLL我的問題是不靠近接近一個 – mithril333221 2012-01-14 01:49:52