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

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

JS引用賦值,按值賦值的理解

JS引用賦值,按值賦值的理解

互換的青春 2018-10-17 13:19:12
var a={i:1};//引用賦值。var b=a;   //按值賦值?a把它指向?qū)ο髙i:1}的地址copy給b。 a.i=2;console.log(b.i) //2b=a是不是按值賦值呢?大家的回答,b=a都是說引用賦值。那么如何解釋函數(shù)參數(shù)都是按值傳遞的問題呢?
查看完整描述

1 回答

?
慕桂英3389331

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

基本類型按值傳遞(復(fù)制),對象按共享傳遞(兩個(gè)對象共享一個(gè)內(nèi)存地址),也可以理解為按引用傳遞(指向同一塊內(nèi)存空間)。函數(shù)參數(shù)傳遞方式看參數(shù)的類型,并不全是按值傳遞;

var a = {name:'aaa', age:22};function b(o){
    o.name = "bbb"
    console.log(o);
}
b(a);
a

輸出:Object {name: "bbb", age: 22}Object {name: "bbb", age: 22} 
// 錯(cuò)誤觀點(diǎn):如果是按值傳遞,a里面的name就不應(yīng)該改變。/*其實(shí)是變量o復(fù)制了變量a的地址值,這個(gè)地址指向了a指向的那個(gè)對象,
 *所以改變o的屬性值,即是改變了指向那個(gè)對象的屬性值,
 *這里o已經(jīng)是一個(gè)函數(shù)b的局部變量了。
*/

更正一下:函數(shù)參數(shù)確實(shí)是按值傳遞的,只不過不同的類型傳遞的值不同,基礎(chǔ)類型copy是值,引用類型copy的是地址值,而引用類型變量的復(fù)制,copy是一個(gè)指針。畢竟指針跟地址值還是不一樣的。


查看完整回答
反對 回復(fù) 2018-11-02
  • 1 回答
  • 0 關(guān)注
  • 630 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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