美文网首页
js定义全局变量与在window对象上直接定义属性

js定义全局变量与在window对象上直接定义属性

作者: YellowPoint | 来源:发表于2018-07-06 16:57 被阅读0次

由于window对象同时扮演着ECMAScript中Global对象的角色,因此所有在全局作用域中声明的变量、函数都会变成window对象的属性和方法。

差别

  1. 全局变量不能通过delete操作符删除
  2. 访问未声明的变量会抛出错误,但是通过查询window对象,可以知道某个可能未声明的变量是否存在
  3. 有些自执行函数里面的变量,想要外部也访问到的话,可用window.XX来做
var newValue = oldValue 
//这里会抛出错误,因为oldValue未定义

var newValue = window.oldValue
//这里不会抛出错误,因为这是一次属性查询
//newValue的值是undefined


相关文章

网友评论

      本文标题:js定义全局变量与在window对象上直接定义属性

      本文链接:https://www.haomeiwen.com/subject/orjbuftx.html