if false语句在javascript中是否总是返回undefined?
我目前正在开发一个网站,并计划使用JavaScriptif false语句在javascript中是否总是返回undefined?,javascript,Javascript,我目前正在开发一个网站,并计划使用JavaScript function func() { if (false) { var a = 'goodbye'; } console.log(a); } 上面的例子显示了范围,我想知道如何防止未定义的情况出现,以及为什么会出现这种情况 我研究过mdn、w3学校和varius网站,但它们要么过于具体,要么过于笼统 对于那些经常使用JavaScript但不是团队领导者的人来说,这将是一个很好的资源——我计划利用这些知
function func() {
if (false) {
var a = 'goodbye';
}
console.log(a);
}
上面的例子显示了范围,我想知道如何防止未定义的情况出现,以及为什么会出现这种情况
我研究过mdn、w3学校和varius网站,但它们要么过于具体,要么过于笼统
对于那些经常使用JavaScript但不是团队领导者的人来说,这将是一个很好的资源——我计划利用这些知识使用前端语言(JavaScript、html、CSS等)制作一个网页
如果合适,请随意添加更多标签 您对if语句的工作原理感到困惑
if(Condition comes out to true)
{
This will work
}
另一方面,它将不起作用,您已输入默认为false的条件,因此不会执行if块。
正如您在if块中定义的“a”,变量“a”永远不会被定义为if块未执行。
因此,当您记录一个时,您会对if语句的工作方式感到困惑
if(Condition comes out to true)
{
This will work
}
另一方面,它将不起作用,您已输入默认为false的条件,因此不会执行if块。
正如您在if块中定义的“a”,变量“a”永远不会被定义为if块未执行。
因此,当您记录一个时,您会看到未定义的,当该if中的条件为false时,您会看到
未定义的
,原因是var
被提升到函数的顶部,变量将未定义的
作为其默认值
吊装后,您的代码如下:
function func() {
var a; // Defaults to `undefined`
if (false) {
a = 'goodbye';
}
console.log(a);
}
由于条件为false,a
的默认值永远不会更改
关于
var
提升的更多信息,请访问我贫血的小博客:当if
中的条件为false时,您看到未定义的的原因是var
被提升到函数顶部,变量将未定义的作为其默认值
吊装后,您的代码如下:
function func() {
var a; // Defaults to `undefined`
if (false) {
a = 'goodbye';
}
console.log(a);
}
由于条件为false,a
的默认值永远不会更改
关于var
提升的更多信息,请访问我贫血的小博客:添加一个返回语句?您的函数中不会返回任何内容,即使您从该函数中执行返回一个
,您最终将得到未定义的
。这是因为你在一个永远不会执行的块中声明了a
。你没有设置,console.log
inga
之后就像console.log
ingundefined
不是真的,没有多少东西可以切换。。。if(false)
没有多大意义,返回语句?函数中没有返回任何内容,即使从该函数中执行返回一个
,最终将得到未定义的
。这是因为你在一个永远不会执行的块中声明了a
。你没有设置,console.log
inga
之后就像console.log
ingundefined
不是真的,没有多少东西可以切换。。。一个if(false)
不会产生太大的影响sense@Li357:嗯,我们很快就可以……很快。:-)@Li357:嗯,我们很快就能……很快。:-)