作用域
作用域是一个变量和函数的作用范围,javascr ipt中函数内声明的所有变量在函数体内始终是可见的,在javascr ipt中有全局作用域和局部作用域,但是没有块级作用域,局部变量的优先级高于全局变量,通过几个示例来了解下javascr ipt中作用域的那些“潜规则”(这些也是在前端面试中经常问到的问题)。
1. 变量声明提前
示例1:
var scope="global";
function scopeTest(){
console.log(scope);
var sco
ES6 新增了let命令,用来声明局部变量,所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束。
1.ES6可以用let定义块级作用域变量
代码如下:
function f1(){
{
var a = 10;
let b = 20;
}
console.log(a); // 10
console.log(b); // Uncaught ReferenceError: b is not defined
}
f