Javascript 全局变量不会在第二个变量中更新
当我调用Javascript 全局变量不会在第二个变量中更新,javascript,scope,Javascript,Scope,当我调用foo2时,全局变量divFoo在我调用它时不会更新 var foo = 0; var divFoo = "<div id='"+foo+"'>" var foo2 = function() { foo++ } var foo=0; var divFoo=“” var foo2=函数(){ 福++ } 我看到了与这个问题相关的其他问题,我觉得这些问题并没有完全回答为什么会发生这种情况divFoo显示div id='0'。如何使divFoo与foo一起计数?当您更新
foo2
时,全局变量divFoo
在我调用它时不会更新
var foo = 0;
var divFoo = "<div id='"+foo+"'>"
var foo2 = function() {
foo++
}
var foo=0;
var divFoo=“”
var foo2=函数(){
福++
}
我看到了与这个问题相关的其他问题,我觉得这些问题并没有完全回答为什么会发生这种情况<当
foo
计数时,code>divFoo显示div id='0'。如何使divFoo与foo一起计数?当您更新foo
时,需要更新divFoo
。它不倾听变化,它是静态的
像这样:
var foo = 0;
var divFoo;
var foo2 = function() {
foo++;
divFoo = "<div id='"+foo+"'>";
}
var foo=0;
var divFoo;
var foo2=函数(){
foo++;
divFoo=“”;
}
当您更新foo
时,需要更新divFoo
。它不倾听变化,它是静态的
像这样:
var foo = 0;
var divFoo;
var foo2 = function() {
foo++;
divFoo = "<div id='"+foo+"'>";
}
var foo=0;
var divFoo;
var foo2=函数(){
foo++;
divFoo=“”;
}
这与范围无关“”
创建一个新字符串,该字符串与foo
变量没有任何链接。如果要更改divFoo
,则需要将divFoo=”“
放入foo2()
函数体中。或者不使用divFoo
变量,而是创建一个返回“
的函数divFoo()
。好的,我假设它会实时更新它。谢谢如果您希望这种情况“自动”发生,请查看其中一个“反应式”框架。这与范围无关“”
创建一个新字符串,该字符串与foo
变量没有任何链接。如果要更改divFoo
,则需要将divFoo=”“
放入foo2()
函数体中。或者不使用divFoo
变量,而是创建一个返回“
的函数divFoo()
。好的,我假设它会实时更新它。谢谢如果你想让这种情况“自动”发生,请查看其中一个“反应式”框架。或者,如果OP想保存一行,他们可以将其放入foo2
:divFoo=“”
@BryndenBielefeld哦,绝对!我只是想说清楚就这些。或者如果OP想要保存一行,他们可以把它放在foo2
:divFoo=“”
@BryndenBielefeld哦,绝对可以!我只是想弄清楚,仅此而已。