标准规范
HTML5[url=http://www.whatwg.org/specs/web-apps/current-work/]规范文档[/url]中指出:如果一个元素符合下面两条规则中的任一条,则
window对象中必须要有与之对应的一个属性,属性值就是这个对象.
[list]
[*]如果一个元素拥有ID属性,那么ID属性的属性值就会成为window对象的属性名.[/*]
[*]如果一个元素拥有name属性,那么name属性的属性值就会成为window对象的属性名.但这个元素的标签名必须是: a, applet, area, embed, form, frame, frameset, iframe, img, object,其中的一个.[/*][/list]
让我们看一个例子.假定存在一个页面,该页面包含了一个ID属性为“
foo”的div元素:
[url=http://jsperf.com/global-id-s]jsPerf测试[/url]来比较通过全局变量访问foo和通过window.foo来访问foo的性能差别.有趣的是,只有在Firefox中访问window.foo更快点.