function setName(obj){
obj.name = "Obama";
obj = {name:"Clinton"};
}
var president = {name:"Bush"};
setName(president);
console.log(president.name);
当我更改“obj.name =“奥巴马”;”时到“this.name =“奥巴马”;”
function setName(obj){
this.name = "Obama";
obj = {name:"Clinton"};
}
var president = {name:"Bush"};
setName(president);
console.log(president.name);
输出变为“Bush”。
最佳答案
this
不是 obj
。
你可以尝试一下来理解:
function setName(obj){
console.log(this.name);
}
它不会给你obj
。
好吧,如果您真的认为使用 obj 一词不好,请尝试以下操作:
function setName(obj){
setName.arguments[0].name = "Obama";
obj = {name:"Clinton"}; // I don't touch this.
}
关于javascript - 有谁知道为什么输出是 "Obama"而不是 "Clinton"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45247438/