摘要:解釋為什么所有的參數(shù)傳遞的都是值,不可能通過(guò)引用傳遞參數(shù)值的含義這里的值,指的是,復(fù)制傳進(jìn)來(lái)的對(duì)象的地址,把這個(gè)復(fù)制值賦給參數(shù)引用傳遞的含義直接將變量本身的地址傳進(jìn)去,直接把傳進(jìn)來(lái)的對(duì)象的地址傳給參數(shù)參數(shù)傳遞的過(guò)程把傳進(jìn)來(lái)的對(duì)象的地址復(fù)制一
解釋為什么所有的參數(shù)傳遞的都是值,不可能通過(guò)引用傳遞參數(shù) “值”的含義
這里的值,指的是,復(fù)制傳進(jìn)來(lái)的對(duì)象的地址,把這個(gè)復(fù)制值賦給參數(shù)
引用傳遞的含義直接將變量本身的地址傳進(jìn)去,直接把傳進(jìn)來(lái)的對(duì)象的地址傳給參數(shù)
參數(shù)傳遞的過(guò)程把傳進(jìn)來(lái)的對(duì)象的地址復(fù)制一份
把這個(gè)復(fù)制出來(lái)的值傳給參數(shù)
參數(shù)和傳進(jìn)來(lái)的對(duì)象訪問的是一個(gè)地址,對(duì)參數(shù)進(jìn)行操作會(huì)表現(xiàn)在對(duì)象上
結(jié)合代碼進(jìn)行理解function setName(obj) { obj.name = "XX"; // 對(duì)obj進(jìn)行操作會(huì)表現(xiàn)在person上 obj = new Object(); // 這里obj的引用改變了,如果傳遞的是引用,那么person的地址也會(huì)改變,也就是說(shuō),接下來(lái)對(duì)obj的操作,也會(huì)表現(xiàn)在person上 obj.name = "YY"; } let person = new Object(); setName(person); console.log(person.name); // XX,說(shuō)明不是引用傳遞總結(jié)
如果是引用傳遞,那么在函數(shù)內(nèi)部改變對(duì)象的引用時(shí),傳進(jìn)來(lái)的參數(shù)的地址也會(huì)改變,接下來(lái)對(duì)函數(shù)內(nèi)部對(duì)象的操作,也會(huì)表現(xiàn)在傳進(jìn)來(lái)的參數(shù)上,然而上面驗(yàn)證并非如此,所以“ECMAScript中所有的參數(shù)傳遞的都是值”
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/107856.html
摘要:引用類型參數(shù)的傳遞與引用類型的復(fù)制一樣,傳遞的是內(nèi)存地址。指向一個(gè)新的地址,與不再指向同一個(gè)地址官方解釋來(lái)一發(fā)中所有函數(shù)的參數(shù)都是按值傳遞的。總結(jié)很簡(jiǎn)單,函數(shù)參數(shù)都是按值傳遞都是棧內(nèi)數(shù)據(jù)的拷貝。 基本類型與引用類型 值類型(基本類型):String,Number,Boolean,Null,Undefined。 引用類型:Array、Object、Function、Date等有多個(gè)值...
摘要:引用類型參數(shù)的傳遞與引用類型的復(fù)制一樣,傳遞的是內(nèi)存地址。指向一個(gè)新的地址,與不再指向同一個(gè)地址官方解釋來(lái)一發(fā)中所有函數(shù)的參數(shù)都是按值傳遞的。總結(jié)很簡(jiǎn)單,函數(shù)參數(shù)都是按值傳遞都是棧內(nèi)數(shù)據(jù)的拷貝。 基本類型與引用類型 值類型(基本類型):String,Number,Boolean,Null,Undefined。 引用類型:Array、Object、Function、Date等有多個(gè)值...
摘要:我們可以利用這一點(diǎn),如果參數(shù)缺失就拋出錯(cuò)誤在中,我們可以更近一步,使用默認(rèn)參數(shù)來(lái)設(shè)置強(qiáng)制參數(shù)對(duì)象在的時(shí)候默認(rèn)參數(shù)就被加入,來(lái)代替對(duì)象,但并沒有實(shí)現(xiàn)。隨著的發(fā)布,現(xiàn)在官方支持了默認(rèn)參數(shù)。 ECMAScript 6(或者叫 ECMAScript 2015)是 ECMAScript 的最新標(biāo)準(zhǔn),極大的提高了 JavaScript 中處理參數(shù)的能力。現(xiàn)在我們可以使用 rest 參數(shù)(rest ...
摘要:寫在最前本次嘗試通過(guò)流程圖的形式并結(jié)合兩個(gè)例子來(lái)重新理解一下中的參數(shù)傳遞。歡迎關(guān)注我的博客,不定期更新中參數(shù)到底如何傳遞借用紅寶書的一句話中所有函數(shù)的參數(shù)都是按值傳遞的這個(gè)值如果是簡(jiǎn)單類型,那么就是其本身。同時(shí)執(zhí)行第一個(gè)結(jié)果即為。 寫在最前 本次嘗試通過(guò)流程圖的形式并結(jié)合兩個(gè)例子來(lái)重新理解一下JavaScript中的參數(shù)傳遞。 歡迎關(guān)注我的博客,不定期更新中—— 參數(shù)到底如何傳遞? 借...
閱讀 2259·2021-09-26 09:55
閱讀 3589·2021-09-23 11:22
閱讀 2156·2019-08-30 15:54
閱讀 1903·2019-08-28 18:03
閱讀 2598·2019-08-26 12:22
閱讀 3432·2019-08-26 12:20
閱讀 1731·2019-08-26 11:56
閱讀 2251·2019-08-23 15:30