首页新闻找找看学习计划

instanceof关键字的疑问

0
悬赏园豆:5 [已解决问题] 解决于 2012-06-06 13:44
1 window.onload = function () {
2     var doc = document.getElementById("mainFrame").contentWindow.document;
3     alert(doc); // 弹出 [object HTMLDocument]
4     alert(doc instanceof HTMLDocument); // 弹出false
5     alert(document); // 弹出 [object HTMLDocument]
6     alert(document instanceof HTMLDocument); // 弹出true
7 }

 

大佬们,你看下我代码注释的部分,为什么第二个弹出的是false,而第四个弹出true,不是应该弹出的是true么?能指点一下么??我现在要判断无论是当前页面的document还是iframe的document都返回true怎么判断??

俗人...的主页 俗人... | 初学一级 | 园豆:83
提问于:2012-06-06 11:16
< >
分享
最佳答案
0

你用typeof检查下类型,然后查看文档,看下类型关系。

收获园豆:5
无之无 | 大侠五级 |园豆:5085 | 2012-06-06 11:46

typeof 就没意义了嘛。。都弹出的是object

1 alert(typeof { "website": "cnblogs", "url": "www.cnblogs.com" });//弹出object
2 alert(typeof doc); //弹出object
3 alert(typeof document); //弹出object
俗人... | 园豆:83 (初学一级) | 2012-06-06 11:55

@彪悍人生...: 这个。。。可以查看下相关文档,看下有什么内容。

应该可以:

var type = typeof doc;

alert(type.Name)

或类似的方案。

无之无 | 园豆:5085 (大侠五级) | 2012-06-06 12:38

@笨笨蜗牛: 

貌似每个浏览器弹出的结果都不一样。。

俗人... | 园豆:83 (初学一级) | 2012-06-06 12:46

@彪悍人生...: 会有点区别。如果是IE6,就只有object,到了IE8,应该有类型名称的。FF没实验过。

无之无 | 园豆:5085 (大侠五级) | 2012-06-06 13:32

@笨笨蜗牛: 

IE6,IE8,IE9,FF,Chrome结果都不一样。算了,我不判断了,我已经绕过这个问题了。

俗人... | 园豆:83 (初学一级) | 2012-06-06 13:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册