摘要:總之,類型不相等的情況下,引用類型一頓轉(zhuǎn)換變成原始類型,原始類型一頓轉(zhuǎn)換變成類型例類型不相等,往下走發(fā)現(xiàn)有一個是發(fā)現(xiàn)一個是對象一個是,一個是返回例第條然后哪條都不是,只好返回
基本類型和引用類型
基本類型
按值訪問,可以操作保存在變量中實際的值
基本類型存在棧內(nèi)存
當基本類型調(diào)用對象的方法時,不會起效,底層會有一個叫包裝對象酷炫操作,效果是...不報錯
引用類型
復制:操作的是對象的引用
添加屬性:操作的是實際的對象
引用類型數(shù)據(jù)存在堆內(nèi)存,而引用存在棧區(qū),也就是說引用類型同時保存在棧區(qū)和堆區(qū)
引用類型的比較是比較引用
==的類型轉(zhuǎn)換
關(guān)于==的執(zhí)行機制,ECMASript有規(guī)范,因為==前后的值交換順序,返回的值也是一樣的,所以在此對規(guī)范做出如下總結(jié)
兩者類型相等的話,返回 ===的結(jié)果,===不存在類型轉(zhuǎn)換
------所以一下都是不相等的情況--------
null 和 undefined 相等 反過來也一樣
一個是String,另一個是number,把string轉(zhuǎn)化為number 然后在做 ==
只要有一個類型是boolean,把boolean轉(zhuǎn)化為number 然后在做 ==
一個是number或者string,另外一個是對象,把對象轉(zhuǎn)化為原始類型 然后在做 ==
兩者都是引用類型,看是不是同一個引用
如果以上情況都不是,返回false
引用轉(zhuǎn)原始類型
優(yōu)先調(diào)用valueOf方法(如果有),有原始值返回,結(jié)束
否則,調(diào)用toString方法(如果有)
其他報錯。
總之,類型不相等的情況下,引用類型一頓轉(zhuǎn)換變成原始類型,原始類型一頓轉(zhuǎn)換變成number類型
例1
[] == false
類型不相等,往下走
發(fā)現(xiàn)有一個是boolean -> [] == 0
發(fā)現(xiàn)一個是對象 -> "" == 0
一個是string,一個是number -> 0 == 0
返回 true
例2
false == undefined
第4條 0 == undefined
然后哪條都不是,只好返回false
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/109025.html
摘要:技術(shù)一面一面主要考察基礎(chǔ),有些會有技術(shù)筆試,比如騰訊,。騰訊的面試官就很喜歡問,安全,瀏覽器緩存方面的問題,計算機基礎(chǔ),但是要懂為什么。 這篇文章簡單總結(jié)下2018年內(nèi)我的一些前端面試經(jīng)歷, 在這簡單分享一下,希望對大家有所啟發(fā)。 樓主在深圳,畢業(yè)兩年。面的主要是深圳的幾家公司。 包括: 騰訊, 螞蟻金服, Lazada, Shopee, 有贊 等 。 樓主在準備面試前, 想著復習一...
摘要:說到復盤基礎(chǔ),并不是所有的都會復盤,沒那個時間更沒那個必要。比如,一些基礎(chǔ)的語法以及條件語句,極度簡單。思前想后,我覺得整個計劃應該從集合開始,而復盤的方式就是讀源碼。通常,隊列不允許隨機訪問隊列中的元素。 ?showImg(https://segmentfault.com/img/remote/1460000020029737?w=1080&h=711); 老讀者都知道,我是自學轉(zhuǎn)行...
閱讀 2377·2021-11-22 14:56
閱讀 1183·2019-08-30 15:55
閱讀 3215·2019-08-29 13:29
閱讀 1366·2019-08-26 13:56
閱讀 3511·2019-08-26 13:37
閱讀 568·2019-08-26 13:33
閱讀 3356·2019-08-26 13:33
閱讀 2237·2019-08-26 13:33