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的作用将被自动忽略,所以只会增强变量的效果。
总结
以上就是本文的全部内容。希望本文的内容能给大家的
学习或
工作带来一定的帮助。如果有任何疑问,你可以留言。