为什么c variable
条件不能在全球范围内b variable
起作用而不能在全球范围内起作用?
<script type="text/javascript" language="javascript">
<!--
var a = 45;
function print(){
var b = 10;
document.write(a);
}
if(a == 45)
{
var c = 10;
}
print();
document.write("a is : " + a + "<br />");
document.write("b is : " + b + "<br />");
document.write("c is : " + c + "<br />");
//-->
</script>
为什么变量b是局部的
当创建函数print()的执行上下文时将始终创建变量b,并且在函数完成后将销毁它。因此它取决于该功能,因此是该功能的局部功能。
为什么变量c是全局的
但是在var c if条件内部的情况下,其执行上下文是在全局级别创建的,并声明了var c。当“如果”中的条件变为真时,将为其分配一个值。
您可以阅读吊装了解更多详细信息:https : //developer.mozilla.org/en-US/docs/Glossary/Hoisting
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句