如何从全局范围改变私有变量?这可能吗?

How to change private variable from global scope? Is it possible?

本文关键字:变量 全局 范围 改变      更新时间:2023-09-26

是否可以从全局范围更改以下函数的localVar局部变量

function test(){
    var localVar = 'I am a local variable !';
    console.log(localVar)
}

如果它是一个循环,我可以这样做,但我不需要这个

test.prototype.localVar = 'Changed ' ;

这有点违背了作用域的目的:)

如果你从test中创建一个对象,并将localVar附加到实例中,那么你可以修改它,例如

function test(){
    this.localVar = 'I am a local variable !';
}
var obj = new test();
obj.localVar = 'newval';

如果你不想要面向对象,为什么不直接传递一个函数参数呢?

例如:

    function test(localVar){
       var localVar = localVar || 'I am a local variable !';
       console.log(localVar)
    }
这样,当没有提供参数时,它将返回:'I am a local variable !'。当你指定参数时它会返回你输入的内容