document与Document有区别么

我用document的方法操作dom没有问题,但是用Document就提示没有这个方法,难道这两个不是一个么

clipboard.png

clipboard.png
如果说没有Document,那为什么火狐社区上有

clipboard.png
还是说火狐社区这里只是为了保持首字母大写?

阅读 6.2k
5 个回答

首字母大写是类名的习惯啊,这页列出来的都是初始的构造函数所开放出来的属性和方法,实际用的都是实例化出来的 document 对象嘛,所以当然都是小写咯。

都说了是非标准,现在火狐版本里应该没有了

mdn上 这一页说的是接口 interface Document

实际使用是 document 你注意看下 页面大小写区分是很明显的

另外js是区分大小的,所以火狐不会为了保持首字母大写而将d大写

说的很有道理,?只有document

新手上路,请多包涵

其实Document.getElementById和document.getElementById这两种写法从对象和方法的关系上讲都是正确的,w3c官网上明文定义getElementById就是Document对象的方法,而document是因为间接继承了Document对象所以也可以调用getElementById方法。而楼主写了报错是因为忽视了window对象,window对象是BOM的顶层对象,在纯js文件的当前窗口内对属性/方法进行访问时应该从顶级对象window向下一级级写属性和方法并且window可以省略。而关键问题在于document是window的属性而Document不是其属性(1.可以通过打印window的所有属性去验证2.属性的值可以是对象),所以楼主写法报错。通常的window.alert,window.document.getElementById等都是从window开始写并且可以省略window.,写成alert和document.getElementById。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题