Javascript变量声明提升问题分析(提升)

Javascript变量声明提升问题分析(提升)
1。变量声明的推广
提升所有美丽{所有}
举起,举起
将……吊起,升起(起重机现在分词)

先看栗子
VaR CC =你好;
函数(){
console.log(CC);
VaR CC =世界;
console.log(CC);
}
(富);
console.log(CC);
未定义的,‘你好',将出口在这里
这里有两个主要的知识点:

1、诉讼范围
2。变量声明的推广
Javascript是一种解释语言,在解释器的代码(如Chrome V8引擎)的执行环境中,会有一个预分析过程,这将是最前面的变量声明和函数声明到当前的作用域,这种行为被称为语句提升(提升)。

让我们看一下上面的例子。该代码具有两个级别的范围、全局作用域和函数作用域,在预解析过程中,将变量中的变量声明提升到函数作用域的前面,这样代码就变成了这种方式。
VaR CC =你好;
函数(){
VaR的CC;
console.log(CC);
CC =世界;
console.log(CC);
}
(富);
console.log(CC);
当执行第一个日志时,变量cc声明并没有赋值,所以打印是未定义的。

两。功能声明的推广
声明函数的方法有两种:函数声明和函数表达式。
函数声明
函数(a,b){
返回A+;
}
函数
函数(a,b){
返回A+;
}
当解析器将数据加载到执行环境中时,函数声明和函数表达式不完全相同,解析器将带头读取函数声明,并在执行任何代码之前将其声明为可用。至于函数表达式,有必要等到解析器执行到它所在的代码行,这将真正被解释和执行。

当然,也可以同时使用函数声明和表达式,如var A(b =函数){,结果是函数表达式B的作用将被自动忽略,所以只会增强变量的效果。

总结

以上就是本文的全部内容。希望本文的内容能给大家的学习工作带来一定的帮助。如果有任何疑问,你可以留言。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部