gpt4 book ai didi

internet-explorer-9 - 有人知道为什么 IE9 typeof console.log 报告 "object",其他人报告 "function"吗?

转载 作者:行者123 更新时间:2023-12-01 02:27:03 24 4
gpt4 key购买 nike

在 Firefox/Chrome/others 中,typeof console.log 报告“功能”。在 IE9 中,(假设开发者控制台是打开的,因此定义了 window.console 属性),如果在开发者控制台中显示变量 console.log,则显示

function(...) {
[native code]
}

但它将 typeof console.log 报告为“对象”。该标准规定,函数应该被报告为“函数”。有谁知道为什么会发生这种情况?

最佳答案

这似乎是 IE 中的一个错误,因为许多(或所有)应该是函数的控制台元素似乎是对象。

如果您尝试调用不存在的函数方法,那么您可能需要引用这篇文章:
http://whattheheadsaid.com/2011/04/internet-explorer-9s-problematic-console-object

否则最简单的解决方案是做:

typeof(console.log) !== 'undefined'

这不是最漂亮的解决方案,因为它确实是 IE 不符合标准的错误,尽管他们做相反的事情,但 console.log 不应该真正是一个对象或函数以外的任何东西,所以它应该可以安全使用。否则你可以做一些更复杂的事情,比如:
switch (typeof(console.log)) {
case 'object':
case 'function':
// Should be a valid console.log object, do something with it
break;
}

关于internet-explorer-9 - 有人知道为什么 IE9 typeof console.log 报告 "object",其他人报告 "function"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15505621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com