1。变量增强

前6,Javascript没有块级范围(一对大括号{ }是一个块级范围),只有全球范围和功能范围,即将变量声明变量的增加,其范围第一部分。

以前简历的例子如下:


console.log(全球); / /未定义
全局变量=全球;
console.log(全球); / /全球

函数FN(){
console.log(一); / /未定义
var a = 'AAA';
console.log(一); / / AAA
}
(FN);



上述打印的结果是js的变量被提升,上面的代码实际执行如下:


全局变量;变量提升;全局范围范围;唯一语句,不赋值
console.log(全球); / /未定义
全球=全球'; / /然后分配
console.log(全球); / /打印全球

函数FN(){
变量a,变量,函数作用域
console.log(一);
a 'AAA';
console.log(一);
}
(FN);



两。功能提升

在js中创建函数有两种方式:函数声明和函数字面。只有函数声明具有函数提升功能!如:


console.log(F1); / /功能(F1){ }
console.log(F2); / /未定义
函数(F1){ }
Var(F2 =函数){ }


因此,将有不止一个打印结果,因为js中的函数提升导致代码实际执行如下:


功能(F1){} / /功能升级,对console.log文件开始的整个块(F1);
console.log(F2);
Var(F2 =函数){ }


结论:基本上,如果你想精通,你可以做更多的练习:


console.log(F1());
console.log(F2);
函数f(){ console.log(AA)}
Var(F2 =函数){ }



(函数(){())
console.log(一);
a 'AAA';
var a = {BBB};
console.log(一);
});


上述变量的提升和功能的改进是基于JS萧边共享你的全部内容。我希望能给你一个参考,希望你能支持它。