第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

函數(shù)入?yún)⒌膫鬟f

函數(shù)入?yún)⒌膫鬟f

元芳怎么了 2019-03-12 16:15:06
// [1]var arr = [1, 2]function change(arr) {  arr = [1, 2, 3]}change(arr)console.log(arr) // => [1, 2]// [2]var arr = [1, 2]function change(arr) {  arr.push(3)}change(arr)console.log(arr) // => [1, 2, 3]按照《JavaScript 高級(jí)程序設(shè)計(jì)》中的說(shuō)法:基本類(lèi)型值的傳遞如同基本類(lèi)型變量的復(fù)制一樣。引用類(lèi)型值的傳遞則如同應(yīng)用類(lèi)型變量的一樣為什么賦值不會(huì)改變外部 arr,而 push 方法則會(huì)改變外部 arr 的值呢?友情鏈接:[sof] Is JavaScript a pass-by-reference or pass-by-value language?
查看完整描述

3 回答

?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

在調(diào)用函數(shù)change的時(shí)候,change這個(gè)函數(shù)的作用域內(nèi)會(huì)有一個(gè)新的變量arr,這個(gè)arr全局的arr都指向同一個(gè)內(nèi)存地址,即存儲(chǔ)數(shù)組[1, 2]的內(nèi)存地址。

代碼段一執(zhí)行arr = [1, 2, 3],也就是在內(nèi)存中存儲(chǔ)一個(gè)新的數(shù)組[1, 2, 3],然后把這個(gè)數(shù)組的內(nèi)存地址賦值給arr,注意這個(gè)arrchange函數(shù)內(nèi)的變量,所以這個(gè)arr指向數(shù)組[1, 2, 3]的內(nèi)存地址,而全局的arr仍然指向[1, 2]的內(nèi)存地址。注意[1, 2, 3]是一個(gè)新的數(shù)組,所以需要一個(gè)新的內(nèi)存空間。

代碼段二執(zhí)行arr.push(3),首先會(huì)找到arr指向的數(shù)組,也就是[1, 2],然后往這個(gè)數(shù)組中添加數(shù)據(jù)3,因?yàn)?code>change函數(shù)內(nèi)的arr全局的arr指向的是同一個(gè)內(nèi)存地址,而這個(gè)地址指向的內(nèi)容已經(jīng)改變了。


查看完整回答
反對(duì) 回復(fù) 2019-03-30
?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

有參函數(shù)實(shí)際上有一個(gè)隱式的變量聲明,第一函數(shù),改變的是局部變量的指向地址。第二個(gè)函數(shù)中局部變量指向和全局變量是同一個(gè)地址對(duì)象,所以結(jié)果不一樣。


查看完整回答
反對(duì) 回復(fù) 2019-03-30
  • 3 回答
  • 0 關(guān)注
  • 551 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)