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