在对对象执行typeof和instanceof时,我看到了矛盾的结果。Javascript:typeof和instanceof结果矛盾?
我有以下的测试页:
<html>
<body>
<object id="test" />
<script type="text/javascript">
var foo = document.getElementById("test");
console.log(typeof foo); // returns "function"
console.log(foo instanceof Function); // returns false
console.log(foo instanceof Object); // returns true
</script>
</body>
</html>
“的typeof foo” 被恢复 “功能”,但 “富的instanceof功能” 返回false。
这对我没有意义。一个对象怎么能有一个类型的函数,但不是一个函数的实例?此外,我预计“typeof foo”返回“对象”。
可能的重复[为什么instanceof返回false为一些文字?](http://stackoverflow.com/questions/203739/why-does-instanceof-return-false-for-some-literals) – 2011-03-30 20:11:24
当我做“foo instanceof Object”它返回true。我不认为这个对象是字面的,但我可能是错的... – treaint 2011-03-30 20:16:48
你使用什么浏览器? ['document.getElementById'](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-getElBId)返回的值不应该是函数而是[Element](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-745549614)或'null'的对象。 – Gumbo 2011-03-30 20:23:29