https://blog.csdn.net/2201_75705263/article/details/129916155
-
关系
-
所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员
-
全局变量是 window 对象的属性。
-
全局函数是 window 对象的方法
-
-
区别
-
1. 全局变量不能通过delete删除delete a;而window属性上定义的变量可以通过delete删除 delete widnow.a
-
全局变量a之所以不能通过delete删除;是因为通过var语句添加的全局变量有一个configurable属性;其默认值为false不可配置;所以这样定义的属性不可以通过delete删除
-
-
2. 尝试访问未声明的变量会报错;xxx is not defined。 但是通过查询window查询window.a;可以知道某个可能未声明的变量是否存在;不会报错;只会显示undefined。
-
预解析的存在
-
-
3. 在函数中使用var定义的变量是局部变量。 有时想要在外部也访问到函数里面的变量就需要定义window对象属性
-