摘要:在講之前,先出一道經(jīng)典面試題答案是如果對(duì)這個(gè)答案的得來(lái)明白的清清楚楚的就不用再往下看了。
在講之前,先出一道經(jīng)典面試題:
var?a?=?{n:1};??? a.x?=?a?=?{n:2};?? console.log(a.x);
答案是 : undefined
如果對(duì)這個(gè)答案的得來(lái)明白的清清楚楚的就不用再往下看了。
首先要了解運(yùn)算符的優(yōu)先級(jí)別(MDN地址)
可知,在當(dāng)前表達(dá)式中
a.x?=?a?=?{n:2};
最優(yōu)先的為".",成員訪問(wèn)運(yùn)算符
那么上述的代碼可以理解為
var?a?=?{n:1};? ?var temp = a.x;? temp?=?a?=?{n:2};?? console.log(a.x);
接下來(lái)是多個(gè)賦值運(yùn)算符的運(yùn)算,
摘自JavaScript權(quán)威指南_第六版 82頁(yè)
那么
var?a?=?{n:1};? ?var temp = a.x;? (temp?=?(a?=?{n:2}));?? console.log(a.x);
到這里,大家都明白了吧
a.x的地址獲取在 a變化之前
所以導(dǎo)致了,當(dāng)我們?cè)偃ピL問(wèn)a.x的時(shí)候,其實(shí)訪問(wèn)的a已經(jīng)不是之前的那個(gè)a了,自然a.x為undefined
這樣更直觀一點(diǎn)
var?a?=?{n:1}; var b = a;?? a.x?=?a?=?{n:2};?? console.log(a.x);
var?a?=?{n:1}; var b = a;?? // 使用b作為a的追蹤 var temp = a.x; // 這個(gè) 相當(dāng)于 var temp = b.x; temp?=?a?=?{n:2};?? console.log(a.x); console.log(b.x); // 這里就是 console.log(temp); => {n:2}
End...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/95643.html
用Jmeter做接口測(cè)試只需要掌握幾個(gè)核心功能就可以了。 并不一定要把它所有的功能都掌握,先掌握核心功能入行,然后再根據(jù)工作需要和職業(yè)規(guī)劃來(lái)學(xué)習(xí)更多的內(nèi)容。這篇文章在前面接口測(cè)試框架(測(cè)試計(jì)劃--->線程組--->請(qǐng)求--->查看結(jié)果樹(shù))的前提下,來(lái)介紹必須要掌握的幾個(gè)核心功能,力求用最短的時(shí)間取得最大的成果。 在前面的文章中我提到,用Jmeter做接口測(cè)試的核心是單接口測(cè)試的參數(shù)化和關(guān)聯(lián)接口測(cè)試...
摘要:第四點(diǎn)也要著重講下,記住構(gòu)造函數(shù)被操作,要讓正常作用最好不能在構(gòu)造函數(shù)里 4) this、new、call和apply的相關(guān)問(wèn)題 講解this指針的原理是個(gè)很復(fù)雜的問(wèn)題,如果我們從javascript里this的實(shí)現(xiàn)機(jī)制來(lái)說(shuō)明this,很多朋友可能會(huì)越來(lái)越糊涂,因此本篇打算換一個(gè)思路從應(yīng)用的角度來(lái)講解this指針,從這個(gè)角度理解this指針更加有現(xiàn)實(shí)意義。 下面我們看看在ja...
摘要:要理解函數(shù)的提升行為,讓我們先解析什么是的提升。也就是說(shuō)聲明提升了,賦值還留著原地,等待執(zhí)行。聲明被提升,而包括函數(shù)表達(dá)式的賦值在內(nèi)的賦值操作并不會(huì)提升,而是留在原地等待執(zhí)行。 javaScript自上而下執(zhí)行的順序受到很多新手和部分老手的共識(shí),但是這其實(shí)并不完全正確,這涉及到j(luò)s的編譯過(guò)程,這方面我們稍后會(huì)聊到,先考慮下面代碼: window.onload = function(){...
摘要:不同的是函數(shù)體并不會(huì)再被提升至函數(shù)作用域頭部,而僅會(huì)被提升到塊級(jí)作用域頭部避免全局變量在計(jì)算機(jī)編程中,全局變量指的是在所有作用域中都能訪問(wèn)的變量。 ES6 變量作用域與提升:變量的生命周期詳解從屬于筆者的現(xiàn)代 JavaScript 開(kāi)發(fā):語(yǔ)法基礎(chǔ)與實(shí)踐技巧系列文章。本文詳細(xì)討論了 JavaScript 中作用域、執(zhí)行上下文、不同作用域下變量提升與函數(shù)提升的表現(xiàn)、頂層對(duì)象以及如何避免創(chuàng)建...
摘要:幾個(gè)月前面試的時(shí)候問(wèn)我性能優(yōu)化我可能會(huì)開(kāi)始背誦雅虎軍規(guī),加點(diǎn),代碼層面稍稍講點(diǎn),現(xiàn)在系統(tǒng)的梳理下性能優(yōu)化的方方面面本文涉及方面有代碼優(yōu)化網(wǎng)絡(luò)請(qǐng)求過(guò)程角度入手解析建立鏈接網(wǎng)絡(luò)往返時(shí)延數(shù)據(jù)傳輸網(wǎng)絡(luò)問(wèn)題角度入手請(qǐng)求數(shù)量流量性能優(yōu)化測(cè)試工具代碼優(yōu)化 幾個(gè)月前面試的時(shí)候問(wèn)我性能優(yōu)化我可能會(huì)開(kāi)始背誦雅虎軍規(guī),加點(diǎn)webp,代碼層面稍稍講點(diǎn),現(xiàn)在系統(tǒng)的梳理下性能優(yōu)化的方方面面 本文涉及方面有: 代...
閱讀 3737·2021-11-24 10:23
閱讀 2781·2021-09-06 15:02
閱讀 1285·2021-08-23 09:43
閱讀 2362·2019-08-30 15:44
閱讀 3058·2019-08-30 13:18
閱讀 796·2019-08-23 16:56
閱讀 1753·2019-08-23 16:10
閱讀 551·2019-08-23 15:08