的typeof window.close为IE不同(typeof window.close is d

2019-09-22 12:53发布

今天我看到了怪异的行为,当我输入window.close它显示function close() { [native code] }在IE和function () { [native code] }在Chrome中,我还以为都是功能。

但是,当我输入typeof(window.close)它显示'object'在IE8和'function'的铬。

为什么这样不同的行为? 什么是我可以用它来检查在JavaScript变量的类型的方法呢? 有没有这显示了这种类型的行为等功能?

谢谢

Answer 1:

看看这里你应该有什么(即"function" )。

而这里的可读性变差,但正式的ECMAScript参考。

IE 8根本不遵循规范。 这真的不是唯一的发生。

关于如何测试一个变量是IE8的功能? 的问题,我无法测试它自己,而是这可能工作:

var myvar = window.close;
var isfunc = Object.prototype.toString.call( myvar ) === '[object Function]';


文章来源: typeof window.close is different for IE