摘要:引用也是一個(gè)比較有意思的主題,中的引用始終指向最終的對(duì)象,而并非引用本身用個(gè)例子來(lái)解釋一下。理解這個(gè)之后,下面這個(gè)例子就不難了
引用也是一個(gè)比較有意思的主題,JavaScript中的引用始終指向最終的對(duì)象,而并非引用本身,用個(gè)例子來(lái)解釋一下。
var obj = {}
var ref = obj;
obj.name = "objectA"
console.log(ref.name);//ref跟著添加了name屬性
obj = ["one", "two", "three"];//obj指向了另一個(gè)對(duì)象(數(shù)組對(duì)象)
print(ref.name);//ref還指向原來(lái)的對(duì)象
print(obj.length);//3
print(ref.length);//undefined
運(yùn)行結(jié)果:
objectA objectA 3 undefined obj只是對(duì)一個(gè)匿名對(duì)象的引用,所以,ref并非指向它,當(dāng)obj指向另一個(gè)數(shù)組對(duì)象時(shí)可以看到,引用ref并未改變,而始終指向那個(gè)后來(lái)添加了name屬性的"空"對(duì)象”{}”。理解這個(gè)之后,下面這個(gè)例子就不難了:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/87615.html
摘要:今天總結(jié)下的回收機(jī)制。說(shuō)起的回收機(jī)制,一定要先說(shuō)的內(nèi)存分配了。為什么內(nèi)存還要區(qū)分堆內(nèi)存和棧內(nèi)存呢這里就要說(shuō)到的垃圾回收機(jī)制了。 今天總結(jié)下js的回收機(jī)制。 說(shuō)起js的回收機(jī)制,一定要先說(shuō)js的內(nèi)存分配了。 內(nèi)存分配 前端的同學(xué)們肯定知道,js的變量分為基本類型和引用類型。 基本類型js的基本類型有String,Number,Boolean,Null,Undefined,這些變量在內(nèi)存...
摘要:按引用傳遞時(shí),函數(shù)的形參接收實(shí)參的隱式引用,而不再是副本。探究值的傳遞方式的基本類型,是按值傳遞的。但這樣是否說(shuō)明的對(duì)象是按引用傳遞的呢我們?cè)倏聪旅娴睦尤匀皇遣⑽幢恍薷臑槿绻前匆脗鬟f,修改形參的值,應(yīng)該影響到實(shí)參才對(duì)。 最近遇到個(gè)有趣的問(wèn)題:JS中的值是按值傳遞,還是按引用傳遞呢? 在分析這個(gè)問(wèn)題之前,我們需了解什么是按值傳遞(call by value),什么是按引用傳遞(ca...
摘要:介紹瀏覽器的具有自動(dòng)垃圾回收機(jī)制,也就是說(shuō),執(zhí)行環(huán)境會(huì)負(fù)責(zé)管理代碼執(zhí)行過(guò)程中使用的內(nèi)存。中的內(nèi)存泄漏問(wèn)題程序的內(nèi)存溢出后,會(huì)使某一段函數(shù)體永遠(yuǎn)失效取決于當(dāng)時(shí)的代碼運(yùn)行到哪一個(gè)函數(shù),通常表現(xiàn)為程序突然卡死或程序出現(xiàn)異常。 showImg(https://segmentfault.com/img/remote/1460000018932880?w=4400&h=3080); 1. 介紹 瀏...
摘要:中對(duì)內(nèi)存的一些了解在進(jìn)行開(kāi)發(fā)的過(guò)程中了解內(nèi)存機(jī)制有助于開(kāi)發(fā)人員能夠清晰的認(rèn)識(shí)到自己寫(xiě)的代碼在執(zhí)行的過(guò)程中發(fā)生過(guò)什么也能夠提高項(xiàng)目的代碼質(zhì)量?jī)?nèi)存是怎么樣的中變量存放有著原始值與引用值之分原始值原始的數(shù)據(jù)類型以及新加入的引用值等類型的值便是引用 JS中對(duì)內(nèi)存的一些了解 在JS進(jìn)行開(kāi)發(fā)的過(guò)程中, 了解JS內(nèi)存機(jī)制有助于開(kāi)發(fā)人員能夠清晰的認(rèn)識(shí)到自己寫(xiě)的代碼在執(zhí)行的過(guò)程中發(fā)生過(guò)什么, 也能夠提高...
摘要:編譯器對(duì)賦值的操作當(dāng)編譯器遇到它會(huì)詢問(wèn)域是否存在變量,如果存在編譯器忽略這個(gè)聲明,如果不存在編譯器要求域聲明一個(gè)新變量給自己。兩種引用引用和引用,對(duì)于編譯器來(lái)說(shuō),指變量用于賦值,是指變量用于取值。里面的也是引用,因?yàn)樗糜讷@取的值。 You-Dont-Know-JS是github上一個(gè)擁有9000多枚星星的JS教學(xué)文檔,評(píng)價(jià)很高,為了避免和其他翻譯文一樣,容易陷入不宜讀的混亂,也試圖避...
摘要:前端基本功常見(jiàn)概念一點(diǎn)這里前端基本功常見(jiàn)概念二點(diǎn)這里前端基本功常見(jiàn)概念三點(diǎn)這里超文本標(biāo)記語(yǔ)言,顯示信息,不區(qū)分大小寫(xiě)升級(jí)版的,區(qū)分大小寫(xiě)可擴(kuò)展標(biāo)記語(yǔ)言被用來(lái)傳輸和存儲(chǔ)數(shù)據(jù)規(guī)范采用異步方式加載模塊,模塊的加載不影響它后面語(yǔ)句的運(yùn)行。 前端基本功-常見(jiàn)概念(一) 點(diǎn)這里前端基本功-常見(jiàn)概念(二) 點(diǎn)這里前端基本功-常見(jiàn)概念(三) 點(diǎn)這里 1.HTML / XML / XHTML html...
閱讀 688·2021-11-18 10:07
閱讀 2878·2021-09-22 16:04
閱讀 873·2021-08-16 10:50
閱讀 3326·2019-08-30 15:56
閱讀 1784·2019-08-29 13:22
閱讀 2647·2019-08-26 17:15
閱讀 1229·2019-08-26 10:57
閱讀 1103·2019-08-23 15:23