我目前正在开发一个网站,并计划使用JavaScript。
function func() {
if (false) {
var a = 'goodbye';
}
console.log(a);
}
上面的例子显示了范围,我想知道您将如何防止这种情况未定义以及为什么会这样。
我研究过mdn,w3学校和varius网站,但它们要么是特定的,要么太笼统了。
对于那些经常使用JavaScript但不是团队领导的人来说,拥有这个资源会很棒 - 我计划利用这些知识使用前端语言(JavaScript,html,CSS等(制作网页。
在线编辑
如果合适,请随时添加更多标签!
当该if
中的条件为 false 时,您看到undefined
的原因是var
被提升到函数的顶部,变量被undefined
为默认值。
吊装后,你的代码是这样的:
function func() {
var a; // Defaults to `undefined`
if (false) {
a = 'goodbye';
}
console.log(a);
}
由于条件为 false,因此 a
的默认值永远不会更改。
更多关于var
吊起在我贫血的小博客上:可怜的被误解var
你对if语句如何工作感到困惑,
if(Condition comes out to true)
{
This will work
}
其他明智的做法是,它不起作用,您已将条件默认为 false,因此不会执行 if 块。正如您在 if 块中定义"a"一样,变量"a"永远不会被定义为 if 块未执行。因此,当您记录