function setName(obj) {
obj.name = “Nicholas”;
obj = new Object();
obj.name = “Greg”;
}
var person = new Object();
setName(person);
alert(person.name); //”Nicholas”
记得某次笔试时被考过,想当然的写了“Grep”。。。。
本文通过一个简单的JavaScript函数示例,展示了局部变量与全局变量作用域的问题。该函数试图修改传入对象的属性,但由于内部重新声明了一个同名的空对象,导致外部对象未受影响。这个例子揭示了JavaScript中变量作用域和对象引用的一些常见误解。
function setName(obj) {
obj.name = “Nicholas”;
obj = new Object();
obj.name = “Greg”;
}
var person = new Object();
setName(person);
alert(person.name); //”Nicholas”
2273
6779

被折叠的 条评论
为什么被折叠?