亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于Javascript中數組作為函數參數的問題?

關于Javascript中數組作為函數參數的問題?

茅侃侃 2019-04-25 22:19:29
let arr = [1,2,3,4,5]function A(_arr){    _arr[1] = 0}A(arr)console.log(arr) // 1 0 3 4 5function B(_arr){    _arr = null}B(arr)console.log(arr) // 1 0 3 4 5為什么經過函數B,arr沒有變成null, 從函數A來看明明傳遞的是引用啊
查看完整描述

2 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

傳遞的是引用,不過是把引用保存到_arr變量上,你再把此變量賦值為其他的東西,對原有的沒有任何影響


查看完整回答
反對 回復 2019-05-19
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

參數傳遞的時候,變量是有重新復制一遍的,第一個變了是因為復制的還是之前的內存地址,改的內部的值。第二個是把整個復制的內存地址都改變了,直接為Null。
也就是說參數傳遞的時候再方法里面是有開辟新的內存空間,像對象數組這種開辟了新內存間,但是復制的舊內存地址。

查看完整回答
反對 回復 2019-05-19
  • 2 回答
  • 0 關注
  • 1247 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號