摘要:所以能用的地方盡量用,相等運算符隱藏的類型轉(zhuǎn)換,會帶來一些違反直覺的結(jié)果。
這是在國外的一道面試題看到的,大家先自己想一下,在什么情況下這個判斷會成立?
按正常思維想,這個是不可能成立的,但nothing is impossible,首先貼上正確答案代碼
const a = { i: 1, toString: function () { return a.i++; } } console.log(a == 1 && a == 2 && a == 3)
這里做判斷時,首先會調(diào)用valueOf函數(shù),數(shù)組調(diào)用valueOf后返回的還是數(shù)組本身,就會再次調(diào)用toString函數(shù),這里是重寫了toString方法,并且return的是a.i++,所以每調(diào)用一次,都會在上次的值得基礎(chǔ)上自加一次,
所以結(jié)果為true。
那么舉一反三,這道題再變一下,“a===1 && a===2 && a===3 為true”改成這樣,還能不能成立呢?
最后結(jié)果:
這是因為“===”代表全等(嚴格運算符),即值和類型都相等,其原理為“===”不會進行隱式轉(zhuǎn)換,所以也就不會調(diào)用valueOf等方法了,而“==”為值相等(相等運算符),所以在比較不同類型的數(shù)據(jù)時,相等運算符會先將數(shù)據(jù)進行類型轉(zhuǎn)換,然后再用嚴格相等運算符比較。
所以能用“===”的地方盡量用“===”,相等運算符隱藏的類型轉(zhuǎn)換,會帶來一些違反直覺的結(jié)果。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/105129.html
摘要:閉包正確的說應(yīng)該是指一個閉包域每當聲明了一個函數(shù)它就產(chǎn)生了一個閉包域可以解釋為每個函數(shù)都有自己的函數(shù)棧每個閉包域?qū)ο蠖加幸粋€不是屬性內(nèi)默認有個名為的全局引用有了這個引用就可以直接調(diào)用的屬性或方法凡是在閉包域內(nèi)聲明的變量或方法外部無法直接訪問 閉包 正確的說,應(yīng)該是指一個閉包域,每當聲明了一個函數(shù),它就產(chǎn)生了一個閉包域(可以解釋為每個函數(shù)都有自己的函數(shù)棧),每個閉包域(Function...
摘要:收集的一些前端面試題從面試題發(fā)現(xiàn)不足,進而查漏補缺,比通過面試更難得及各大互聯(lián)網(wǎng)公司前端筆試面試題篇及各大互聯(lián)網(wǎng)公司前端筆試面試題篇面試題個和個經(jīng)典面試題前端開發(fā)面試題如何面試前端工程師很重要個變態(tài)題解析如何通過餓了么面試輕 收集的一些前端面試題 從面試題發(fā)現(xiàn)不足,進而查漏補缺,比通過面試更難得 1 BAT及各大互聯(lián)網(wǎng)公司2014前端筆試面試題--Html,Css篇 2 BAT...
摘要:收集的一些前端面試題從面試題發(fā)現(xiàn)不足,進而查漏補缺,比通過面試更難得及各大互聯(lián)網(wǎng)公司前端筆試面試題篇及各大互聯(lián)網(wǎng)公司前端筆試面試題篇面試題個和個經(jīng)典面試題前端開發(fā)面試題如何面試前端工程師很重要個變態(tài)題解析如何通過餓了么面試輕 收集的一些前端面試題 從面試題發(fā)現(xiàn)不足,進而查漏補缺,比通過面試更難得 1 BAT及各大互聯(lián)網(wǎng)公司2014前端筆試面試題--Html,Css篇 2 BAT...
摘要:這是我在一次面試中,被面試官所提問的一道題在這次面試題中相等指的是對象的屬性個數(shù)值相等有這樣兩個李德華張德華我能想到的一種方案解答過程的思考由于沒有,我只能通過轉(zhuǎn)化成數(shù)組進入第二步,對象中的屬性在另一個中是否存在。 這是我在一次面試中,被面試官所提問的一道題 在這次面試題中 相等:指的是對象的屬性個數(shù)值相等 有這樣兩個obj let obj1 = { name:李德華, ...
摘要:響應(yīng)由三個部分組成,分別是狀態(tài)行消息報頭響應(yīng)正文。詳情參考小汪之前寫的文章瀏覽器內(nèi)核之解釋器和模型解釋解釋過程是指從字符串經(jīng)過解釋器處理后變成渲染引擎內(nèi)部規(guī)則的表示過程。 showImg(https://segmentfault.com/img/remote/1460000016404846); 前言 小汪最近在看【W(wǎng)ebKit 技術(shù)內(nèi)幕】一書,說實話,這本書寫的太官方了,不通俗易懂。...
閱讀 3365·2021-11-25 09:43
閱讀 2169·2021-09-22 10:02
閱讀 3486·2021-09-06 15:00
閱讀 2371·2019-08-30 15:56
閱讀 2421·2019-08-30 15:54
閱讀 3296·2019-08-30 14:14
閱讀 2319·2019-08-29 17:25
閱讀 2987·2019-08-29 17:16