源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

document.getElementById介绍

  • 时间:2020-03-28 16:03 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:document.getElementById介绍
把你的大脑当做浏览器执行下面的代码两次,分别是IE6和IE9:
[url=http://stackoverflow.com/questions/7125288/what-is-document-getelementbyid/]StackOverflow[/url]上提了这个问题,好在牛人确实多,很快就有了回复。最后我简单的总结一下给大家参考: document.getElementById 最初被定义为 HTMLDocument (HTML DOM)接口的一个成员,但是在后来的 2 级 DOM 中移入到 Document (XML DOM)接口中。 document.getElementById属于host object,它是一个function,但是它并没有被定义在ECMAScript中而是DOM接口的一部分。 支持[[Call]](内部属性?)host object的typeof返回值就是function。请记住Host Objects并不总是遵循Native Objects的相关规则,比如typeof。 而对于testFunc它是native object, 更具体地说是native function。 下面是EcmaScript 5对于typeof操作符的返回结果的归类:

[i][b]Type of [/b][/i][i]val[/i]

[i][b]Result[/b][/i]
Undefined [code][b]"undefined"[/b][/code]
Null [code][b]"object"[/b][/code]
Boolean [code][b]"boolean"[/b][/code]
Number [code][b]"number"[/b][/code]
String [code][b]"string"[/b][/code]
Object (native and does not implement [[Call]]) [code][b]"object"[/b][/code]
Object (native or host and does implement [[Call]]) [code][b]"function"[/b][/code]
Object (host and does not implement [[Call]]) Implementation-defined except may not be [code][b]"undefined"[/b][/code], [code][b]"boolean"[/b][/code], [code][b]"number[/b][/code]", or[code][b] "string".[/b][/code]

所以如果要实现用$代替document.getElementById需要这么做:
[u]复制代码[/u] 代码如下:
var $ = function(id) { return document.getElementById(g) };
但是即使有了上面的解释之后,我对Host Object和Native Object又有了新的疑惑。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部