网站怎么优化 优帮云,wordpress循环,网站建设域名怎么收费的,天津百度网站快速优化作用域链
通过上节作用域我们知道#xff0c;当我们声明一个函数时#xff0c;程序会生成一个独立的作用域#xff0c;如果函数中还有函数#xff0c;那么在这个作用域中就又可以诞生一个作用域#xff1b;根据 内部函数可以访问外部函数变量 的这种机制#xff0c;用链…作用域链
通过上节作用域我们知道当我们声明一个函数时程序会生成一个独立的作用域如果函数中还有函数那么在这个作用域中就又可以诞生一个作用域根据 内部函数可以访问外部函数变量 的这种机制用链式查找决定哪些数据能被内部函数访问就称为作用域链
作用域链采取就近原则的方式来查找变量最终的值。
function item1(){
let num 123;
function item2(){
console.log(num); // 123
}
item2();
}
let num 456;
item1();
JavaScript 预解析重点
JavaScript 代码是由浏览器中的 JavaScript 解析器来执行的。JavaScript 解析器在运行 JavaScript 代码的时候分为两步
预解析代码执行
变量预解析变量提升 变量的声明会被提升到当前作用域的最上面变量的赋值不提升
函数预解析函数提升函数的声明会被提升到当前作用域的最上面但是不会调用函数
在当前作用域下JS 代码执行之前浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或定义预解析会把变量和函数的声明在代码执行之前完成预解析也叫做变量、函数提升