true還是false?

一、一個簡單的題目

曾經(jīng)碰到一個題,如下,會打印出什么?

console.log(true==true==true);
console.log(false==false==false);
console.log(3>2>1);
console.log(3<2<1);

這不就前三個打印true,最后一個打印false嗎?



這還用想,一秒鐘我就給出了答案!那么常識的問題。。。

二、啪啪啪被打臉

但是我個人習慣還是喜歡把代碼運行測試一下,于是乎我就在控制臺把上面四個console拷貝過去,輕蔑的按了下回車。。。

結果竟然是true false false true ???
四個題我回答錯了仨,簡直啪啪啪?。。?/p>

難道是我拷貝錯了,還是這控制臺出bug了?于是乎我又仔細的檢查幾遍,確定沒什么問題。
這就尷尬了,被打臉的感覺真是很不爽啊。。。

三、這是為什么呢

第二個console打印出false,有可能是特殊情況。但是第三個3>2>1,這特么是小孩都知道的事實,這都打印出false,有木有搞錯啊?于是我又單獨測試了下:

console.log(3>2);
console.log(2>1);
console.log(3>1);

輸出結果都是true,沒毛病啊。。。


突然,我發(fā)現(xiàn)這個console.log(3>2)輸出的是true,也就是說3>2 == true,那console.log(3>2>1) 不也就相當于 console.log(true > 1)了嗎?而js中true == 1,所以console.log(true > 1) 會打印出false,頓時有種在漫長黑暗中看到亮光的興奮。

四、摸摸臉

再看看第二個,false==false 會先返回true,再比較 true == false,結果自然打印出false。
第四個,3<2 會先返回 false,再比較false < 1,js中false == 0,所以打印出true。
所以四個console的結果分別是:true false false true
摸摸臉,還好打臉的事只有自己知道。。。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,551評論 19 139
  • 工廠模式類似于現(xiàn)實生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實現(xiàn)同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 8,122評論 2 17
  • 一元操作符++,--操作符操作示例 +,-操作符+基本是原樣輸出 布爾操作符邏輯非 ! 如果前面再加上個!會看起來...
    togeek閱讀 626評論 3 3
  • 使用 typeof bar === “object” 判斷 bar 是不是一個對象有神馬潛在的弊端?如何避免這種弊...
    Roselle_c閱讀 391評論 0 0
  • 我以前也是很愛玩游戲的,也和大家一樣花了很多錢充值到游戲里面升級裝備,后來我有種被游戲玩的感覺,所以那時候我經(jīng)常思...
    爾酥閱讀 229評論 0 1

友情鏈接更多精彩內(nèi)容