博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6的全局对象属性
阅读量:6857 次
发布时间:2019-06-26

本文共 451 字,大约阅读时间需要 1 分钟。

hot3.png

是指最顶层的对象,在浏览器环境下是指window对象。在ES5中,全局对象的属性和全局变量是等价的。

例如

输出结果:

1

2

a是全局对象window的属性,b是全局对象,所以对全局对象属性的赋值和全局对象的赋值,实际就是一回事。

从上述代码可以看出,未声明的全局变量,会自动认为全局变量window的属性,这是被人们认为是设计的败笔之一。这样的设计带来了两个很大的问题,首先是没法在编译时就报出变量未声明的错误,只有运行时才能知道,其次程序员很容易不知不觉地就创建了全局变量(比如打字出错)。另一方面,从语义上讲,语言的顶层对象是一个有实体含义的对象,也是不合适的。

那么在语法中,改变了这一弊端。ES6规定为了保持浏览器的兼容性,使用var ,function声明全局变量,仍然是全局对象的属性。另一方面规定let,const,class命令声明的全局,不属于。

006zipb5zy7aOyHZreW12&690

运行结果:

1

undefined

 

转载于:https://my.oschina.net/u/2971691/blog/892579

你可能感兴趣的文章
Linux用户管理(四)Linux用户管理
查看>>
DWR+S2SH
查看>>
ESXi 5.0启动relocating modules and starting up the kernel解决
查看>>
Android 第一次运行程序提示框操作
查看>>
学历与经验
查看>>
.mui-bar-nav~.mui-content这两个class之间的~什么意思?
查看>>
Apache Shiro简单示例
查看>>
jxl.jar实现对单元格格式的设置及常用操作
查看>>
SHELL笔记2
查看>>
JQuery 源码解析资料
查看>>
安装saltstack
查看>>
Java之类的封装,继承,多态
查看>>
关于css文本超过部分显示省略号
查看>>
win 7 完美安装 VC++6.0加番茄插件和行号
查看>>
http://jeffyyko.blog.51cto.com
查看>>
「造个轮子」——设计 HTTP 请求全局上下文
查看>>
我的友情链接
查看>>
Hadoop 2.X -- YARN
查看>>
组件的生命周期
查看>>
Linux基础命令
查看>>