/**
以下讓大家看到乙個true和false相等的問題研究
*///先看第乙個東西
var b = boolean();
console.log(b);
console.log()
//得到的結果是true,足以說明空陣列在進行布林轉化時會轉化為true
//那麼自然可以得到結論!應該是false,驗證一下
console.log(!)//確實是false
//接下來看下面的東西,詭異的結果出現了
console.log( == !);// 輸出結果為true;
/*是不是無法理解上面的結果,乙個true的東西和乙個為false的比較居然是相等的。
*/
現在開始來解釋原因
== !比較的步驟如下:
首先!進行運算,那麼結果是0
等於說就變成了 == false的判斷
然後你要是檢視犀牛書上面的關於==號的比較的解釋
會發現,物件和數字比較的方式
會把物件進行tostring()轉化然後再比較
那麼.tostring() 就是""
"" == false
這種比較大家就熟悉了
返回就是true
true和false格式問題總結
最近擼 遇到了乙個最簡單的錯誤,記錄一下提醒自己以後不要再犯 和前端對接的時候,有時候資料格式不一樣,會引來 煩!比如今天,要前端傳乙個引數給我,但是明明很簡單的 卻執行不上來 因為我穿的引數需要true或者false來判斷,但是我卻忽略了它是布林值還是字串 1.如果前端穿來的是布林值,只有true...
js中true和false判斷
布林型別裡只有這6引數個返回false,其它都為trueboolean false false boolean undefined false boolean null false boolean 0 false boolean nan false boolean false 下面的就是true b...
c語言中如何使用true和false
在c99之前,我想很多人都是自己定義bool型別,以及true和false的值,比如typedef int bool或者 define bool int define true 1 define false 0 在c99出來後,沒必要這樣做了,c99定義了乙個 bool的型別,你可能會問了,為啥不是...