特别简单的 js 变量难点,谁能把我整明白了

var a = {name:"1"}function fn(obj){
    obj.name = "2";
    obj = {name:"3"};
}
fn(a);
a.name  // "2"


青春有我
浏览 612回答 1
1回答

神不在的星期二

这里涉及到arguments,在对obj赋值之前,obj也就是arguments[0]一直都是对a的引用,赋值操作断开了这个引用链,为obj重新指定了一个引用即一个新的对象{name:'3'}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript