Javascript 为什么初始值没有改变?
请帮忙,为什么初始值没有改变? *由于某种原因,如果我删除时钟“其他”一切工作正常Javascript 为什么初始值没有改变?,javascript,Javascript,请帮忙,为什么初始值没有改变? *由于某种原因,如果我删除时钟“其他”一切工作正常 var值=0; 函数f(){ 如果(真){ 数值=15; } 否则{ var值=假; } console.log('changed value',value); } f(); console.log('value',value)使用var时,创建一个新变量。如果要更改现有变量,请删除var: var值=0; 函数f(){ 如果(真){ 数值=15; }否则{ 值=假; } console.log('chang
var值=0;
函数f(){
如果(真){
数值=15;
}
否则{
var值=假;
}
console.log('changed value',value);
}
f();
console.log('value',value)代码>使用var
时,创建一个新变量。如果要更改现有变量,请删除var
:
var值=0;
函数f(){
如果(真){
数值=15;
}否则{
值=假;
}
console.log('changed value',value);
}
f();
console.log('value',value)代码>使用var
时,创建一个新变量。如果要更改现有变量,请删除var
:
var值=0;
函数f(){
如果(真){
数值=15;
}否则{
值=假;
}
console.log('changed value',value);
}
f();
console.log('value',value)代码>在您的代码上var值=false代码>是问题所在
更新代码
var value = 0;
function f() {
if (true) {
value = 15;
}
else {
value = false;
}
console.log('changed value',value);
}
f();
console.log('value ',value);
在您的代码上var值=false代码>是问题所在
更新代码
var value = 0;
function f() {
if (true) {
value = 15;
}
else {
value = false;
}
console.log('changed value',value);
}
f();
console.log('value ',value);
由于,var将声明移动到函数的顶部。因此,值不再是全局函数的引用,而是作用于函数的范围。因此,您的代码实际上如下所示:
var值=0;
函数f(){
var值;
如果(真){
数值=15;
}否则{
值=假;
}
console.log('changed value',value);
}
f();
console.log('value',value)代码>由于,var将声明移动到函数的顶部。因此,值不再是全局函数的引用,而是作用于函数的范围。因此,您的代码实际上如下所示:
var值=0;
函数f(){
var值;
如果(真){
数值=15;
}否则{
值=假;
}
console.log('changed value',value);
}
f();
console.log('value',value)代码>var值=false
注意,这就是几乎所有现代JavaScript都使用let
而不是var
的原因之一<代码>变量
有很多令人困惑的行为,会导致像这样奇怪的错误。请参阅和。感谢大家的帮助<代码>var值=假
注意,这就是几乎所有现代JavaScript都使用let
而不是var
的原因之一<代码>变量
有很多令人困惑的行为,会导致像这样奇怪的错误。请参阅和。感谢大家的帮助!!这是允许的,这就是代码运行的原因。这并没有达到他们的预期。你们只是在另一个问题上说了同样的话,别再说了。。。它是允许的…它是允许的,这就是代码运行的原因。这并没有达到他们的预期。你们只是在另一个问题上说了同样的话,别再说了。。。这是允许的……有趣;在原始代码中,即使只有false
版本具有var
声明,并且从未实际命中(因为if(true)
是true
),仍会发生提升?酷:)我以前从未见过这个术语;很高兴知道,这也是使用let
或const
vsvar
的另一个原因。谢谢!这很有帮助!=)有趣;在原始代码中,即使只有false
版本具有var
声明,并且从未实际命中(因为if(true)
是true
),仍会发生提升?酷:)我以前从未见过这个术语;很高兴知道,这也是使用let
或const
vsvar
的另一个原因。谢谢!这很有帮助!=)