JS中全局变量和window自定义属性的区别

JavaScript029

JS中全局变量和window自定义属性的区别,第1张

在运行的时候,所有在全局作用域定义的变量,函数都会变成window对象中属性和方法,所以通过var定义的属性,可以通过window对象来访问,ex:var name = 'xxx'console.log(window.name)//运行结果:xxx 主要区别有     1. 全局变量不能通过delete删除,window的属性可以直接删除     2. 直接访问未定义的变量时会报错,但是通过window访问就不会报错,只要是通过window访问,相对于属性访问,结果返回undefine *通过var来定义的会有作用域,当在函数内部定义的变量,在函数外就会失效。js在定义变量的时候,默认是var,但一个变量如果没有定义就直接使用,那么默认认为它是个全局变量,这个对于在函数内也适用。

简单来说,document是window的一个对象属性。

window

对象表示浏览器中打开的窗口。

如果文档包含框架(frame

iframe

标签),浏览器会为

html

文档创建一个

window

对象,并为每个框架创建一个额外的

window

对象。

所有的全局函数和对象都属于window

对象的属性和方法。

document

document

对象的只读引用。

详情请参看参考资料!!!!