是否可以从全局范围更改以下函数的localVar
局部变量
function test(){
var localVar = 'I am a local variable !';
console.log(localVar)
}
更新 如果它是一个oop,我可以做这样的事情,但我不需要这个
test.prototype.localVar = 'Changed ' ;
答案 0 :(得分:0)
这会破坏范围界定的目的:)
如果您从test
创建一个对象并将localVar附加到该实例,那么您可以修改它,例如
function test(){
this.localVar = 'I am a local variable !';
}
var obj = new test();
obj.localVar = 'newval';
答案 1 :(得分:0)
如果您不希望面向对象,为什么不直接传入函数参数?
例如:
function test(localVar){
var localVar = localVar || 'I am a local variable !';
console.log(localVar)
}
这样,当没有提供参数时,它将返回:'我是一个局部变量!'。当你指定一个参数时,它会返回你放在那里的东西。