- 全局作用域: 在函数外定义的变量
var abc; // 全局变量,全局变量无法删除
abcd; // 挂载在全局对象 window上的属性
在函数作用域中没有用 var 声明的变量是全局对象 window的属性
tips:没有用 var 声明的变量均是全局对象 window 的属性
- 函数作用域/局部作用域: 在函数 {} 中生效
- 块作用域 : es6之前没有块作用域;函数中有{}的地方
if() {}
else {}
let/const var
- 动态作用域 : this
window.a=3;
function test() {
}
test();
test.bind({a:100})();
var b=3; // 可以使用 window访问,允许重复定义,但是会报警告;
let c=4; // 1.不可以使用 window访问,不允许重复定义,会报错;
// 2. let 声明的变量无作用域提升;
// 3. let 声明变量有块级作用域;
// 4. const 声明常量,声明的时候必须先初始化;
学习视频记录











网友评论