Javascript 在oop方法中更改子函数中的全局变量
我在代码中定义和更改变量时遇到问题。我尝试使用oop方法,因此我设置了一个新文件,其中包含特定的函数集。在这个集合中,我想定义一个全局变量,它的值可以在后续函数中更改,然后根据变量的新值执行某些代码块。但是,我遇到了一个问题,即仅更改相应函数中变量的值,而新值无法在外部进行评估以进行进一步处理。有什么建议吗 非常感谢Javascript 在oop方法中更改子函数中的全局变量,javascript,oop,global-variables,Javascript,Oop,Global Variables,我在代码中定义和更改变量时遇到问题。我尝试使用oop方法,因此我设置了一个新文件,其中包含特定的函数集。在这个集合中,我想定义一个全局变量,它的值可以在后续函数中更改,然后根据变量的新值执行某些代码块。但是,我遇到了一个问题,即仅更改相应函数中变量的值,而新值无法在外部进行评估以进行进一步处理。有什么建议吗 非常感谢 var functionset = { x : "", function1 : function(){ function(){ // some code
var functionset = {
x : "",
function1 : function(){
function(){
// some code
function(){
// some code
function(){
x = "new value";
}
}
if(x == "new value"){
// do something
} else if(x =="different value"){
// do something else
}
}
},
}这些是多个嵌套函数吗?如果是这样的话,那更多的是在函数方面,而不是在面向对象方面。如果你给出一个真实的例子,说明你试图用这个模型实现什么,那会有所帮助。
x
看起来像一个属性,而不是一个var
可操作的属性。如果名称空间是静态的,则可以按名称空间进行访问。否则,您必须考虑<代码> > <代码>或其他引用引用的方法。x不是全局的,它是“代码>函数集< /代码>的属性,您需要使用<代码>函数集.x=0 < /代码>。您有一个函数(<代码>函数集。函数1>代码>),定义如下:<代码>函数()({函数){{}} <代码>。调用functionset.function1
没有任何作用。当您调用它时,只会在函数调用的范围内创建一个函数。但是定义函数并不意味着调用/调用/运行该函数。新创建的函数没有被调用、返回或分配给变量(这可能意味着以后可以调用它)。就像这样写:函数threePlusSeven(){3+7;}
threePlusSeven
不返回任何内容;您需要返回3+7
。