Javascript IE中的调用对象错误无效

Javascript IE中的调用对象错误无效,javascript,internet-explorer,internet-explorer-11,Javascript,Internet Explorer,Internet Explorer 11,因此,在尝试执行以下操作时,IE11中出现错误“调用对象无效”: window.toString.call({}); 当我期望看到=>“[对象]” 不过,这种形式似乎有效: ({}).toString(); 这两种形式在chrome中似乎都很好,我是不是遗漏了什么?你似乎忽略了这个事实 window.toString === Object.prototype.toString; // false 窗口的toString是特定于实现的,规范中没有规定DOM主机对象上的方法必须与其他对象上的调

因此,在尝试执行以下操作时,IE11中出现错误“调用对象无效”:

window.toString.call({});
当我期望看到=>“[对象]”

不过,这种形式似乎有效:

({}).toString();

这两种形式在chrome中似乎都很好,我是不是遗漏了什么?

你似乎忽略了这个事实

window.toString === Object.prototype.toString; // false
窗口的
toString
是特定于实现的,规范中没有规定DOM主机对象上的方法必须与其他对象上的
调用一起使用/etc

如果您想捕获此
toString
,但无法假设原型,请尝试

您还可以考虑每次通过打包或使用<代码> BIN < /COD>

跳过<代码>调用< /代码>。
var toString = function (x) { return ({}).toString.call(x); };
toString(10); // "[object Number]"
// or
var toString = ({}).toString.call.bind(({}).toString);
toString(true); // "[object Boolean]"
var toString = function (x) { return ({}).toString.call(x); };
toString(10); // "[object Number]"
// or
var toString = ({}).toString.call.bind(({}).toString);
toString(true); // "[object Boolean]"