国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

連續(xù)賦值(從堆棧角度解析) a.x = a = {n:2}

canger / 1090人閱讀

摘要:連續(xù)賦值今天看到一個(gè)面試題,一直想把這個(gè)題目解析更加直觀化,就跟看小人書一樣,看圖就能明白其中的原理,所以用做了幾張圖。

連續(xù)賦值

今天看到一個(gè)面試題,一直想把這個(gè)題目解析更加直觀化,就跟看小人書一樣,看圖就能明白其中的原理,所以用PPT做了幾張圖。

var a = {n: 1}
var b = a;
a.x = a = {n: 2}
console.log(a.x);
console.log(b.x)

這塊最難理解的就是這塊

a.x = a = {n: 2}

接下來(lái)我們從以下幾點(diǎn)分析以下:

運(yùn)算符優(yōu)先級(jí);

`我們知道運(yùn)算符的優(yōu)先級(jí)決定了表達(dá)式中運(yùn)算執(zhí)行的先后順序,優(yōu)先級(jí)高的運(yùn)算符最先被執(zhí)行。`
賦值運(yùn)算順序是從右往左的,不過(guò)由于“.”是優(yōu)先級(jí)最高的運(yùn)算符,所以這行代碼先“計(jì)算”了a.x;

優(yōu)先級(jí) 運(yùn)算類型 關(guān)聯(lián)性 運(yùn)算符
19 成員訪問(wèn) 從左到右 .
3 賦值 從右到左 … = …

鏈接: 運(yùn)算符優(yōu)先級(jí)

堆棧圖來(lái)看怎么賦值操作的;

var a={n:1};  a指向了堆內(nèi)存中的對(duì)象{n:1},  var b=a; a賦予給b的時(shí)候傳的是棧中的地址(相當(dāng)于新建了一個(gè)不同名“指針”) ,而不是堆內(nèi)存中的對(duì)象。

a.x = a = {n: 2} ;前面說(shuō)了“.”的優(yōu)先級(jí)大于賦值運(yùn)算符的優(yōu)先級(jí),所以先來(lái)看a.x;a.x實(shí)際上是未定義的;

再來(lái)看賦值運(yùn)算符的從右向左解析;a = {n : 2},a被從新賦值,指向了一個(gè)新對(duì)象,而此時(shí)a.x已經(jīng)先行執(zhí)行完,其實(shí)指是{ n:1,x: undefined } 這個(gè)對(duì)象,接下來(lái)看左邊的等號(hào),這個(gè)對(duì)象的x值 = 等號(hào)右邊計(jì)算的結(jié)果(a={n:2},所以此時(shí)b的值通過(guò)箭頭可以看出等于{n:1,x:{n:2}},a的值指向新對(duì)象{n:2}

以上如有出入,請(qǐng)多指正~~~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/109228.html

相關(guān)文章

  • js中的值類型、引用類型、堆、棧、函數(shù)參數(shù)傳遞方式、連續(xù)賦值等概念的學(xué)習(xí)

    摘要:值類型基本類型和棧內(nèi)存值類型也稱為原始數(shù)據(jù)或原始值這類值存儲(chǔ)在棧內(nèi)存中基本類型的值不可以修改。目前中的基本類型一共有六種。堆的使用規(guī)則當(dāng)創(chuàng)建數(shù)組時(shí),就會(huì)在堆內(nèi)存中創(chuàng)建一個(gè)數(shù)組對(duì)象,并且在棧內(nèi)存中創(chuàng)建一個(gè)對(duì)數(shù)組的引用。 值類型(基本類型)和棧內(nèi)存 值類型也稱為原始數(shù)據(jù)或原始值(primitive value).這類值存儲(chǔ)在棧(stack)內(nèi)存中, 基本類型的值不可以修改。每當(dāng)我們定義一個(gè)...

    hizengzeng 評(píng)論0 收藏0
  • JS基礎(chǔ)-連續(xù)賦值

    摘要:引子今天同事聊天群里發(fā)現(xiàn)了一道面試題基礎(chǔ),但答案基本沒有幾個(gè)能答對(duì)并且理解的很透徹的。但是此時(shí)這個(gè)內(nèi)存區(qū)并沒有被回收因?yàn)樽兞康闹羔樢廊恢赶蛩2⑶乙驗(yàn)橹熬吐暶髁藢傩运栽搩?nèi)存區(qū)增加了屬性。那么屬性指向哪兒呢它的返回值就是的內(nèi)存區(qū)。 引子 今天同事聊天群里發(fā)現(xiàn)了一道面試題(js基礎(chǔ)),但答案基本沒有幾個(gè)能答對(duì)并且理解的很透徹的。 問(wèn)題 var a = {n: 1}; var b = ...

    Youngdze 評(píng)論0 收藏0
  • 【進(jìn)階1-4期】JavaScript深入之帶你走進(jìn)內(nèi)存機(jī)制

    摘要:引擎對(duì)堆內(nèi)存中的對(duì)象進(jìn)行分代管理新生代存活周期較短的對(duì)象,如臨時(shí)變量字符串等。內(nèi)存泄漏對(duì)于持續(xù)運(yùn)行的服務(wù)進(jìn)程,必須及時(shí)釋放不再用到的內(nèi)存。 (關(guān)注福利,關(guān)注本公眾號(hào)回復(fù)[資料]領(lǐng)取優(yōu)質(zhì)前端視頻,包括Vue、React、Node源碼和實(shí)戰(zhàn)、面試指導(dǎo)) 本周正式開始前端進(jìn)階的第一期,本周的主題是調(diào)用堆棧,今天是第4天。 本計(jì)劃一共28期,每期重點(diǎn)攻克一個(gè)面試重難點(diǎn),如果你還不了解本進(jìn)階計(jì)劃...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • 【半月刊 4】前端高頻面試題及答案匯總

    摘要:引言半月刊第四期來(lái)啦,這段時(shí)間新增了道高頻面試題,今天就把最近半月匯總的面試題和部分答案發(fā)給大家,幫助大家查漏補(bǔ)缺,歡迎加群互相學(xué)習(xí)。更多更全的面試題和答案匯總在下面的項(xiàng)目中,點(diǎn)擊查看。引言 半月刊第四期來(lái)啦,這段時(shí)間 Daily-Interview-Question 新增了 14 道高頻面試題,今天就把最近半月匯總的面試題和部分答案發(fā)給大家,幫助大家查漏補(bǔ)缺,歡迎 加群 互相學(xué)習(xí)。 更多更...

    hankkin 評(píng)論0 收藏0
  • 由ES規(guī)范學(xué)JavaScript(二):深入理解“連等賦值”問(wèn)題

    摘要:有這樣一個(gè)熱門問(wèn)題其實(shí)這個(gè)問(wèn)題很好理解,關(guān)鍵要弄清下面兩個(gè)知識(shí)點(diǎn)引擎對(duì)賦值表達(dá)式的處理過(guò)程賦值運(yùn)算的右結(jié)合性一賦值表達(dá)式形如的表達(dá)式稱為賦值表達(dá)式。賦值表達(dá)式是右結(jié)合的。 有這樣一個(gè)熱門問(wèn)題: var a = {n: 1}; var b = a; a.x = a = {n: 2}; alert(a.x); // --> undefined alert(b.x); // --> {n: ...

    JasonZhang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<