gpt4 book ai didi

javascript - IE9是否支持console.log,它是一个真正的功能吗?

转载 作者:IT老高 更新时间:2023-10-28 13:14:11 27 4
gpt4 key购买 nike

window.console.log 在 Internet Explorer 9 中定义在哪些情况下?

即使定义了 window.console.logwindow.console.log.applywindow.console.log.call 也是不明确的。这是为什么呢?

[IE8 相关问题:What happened to console.log in IE8? .]

最佳答案

在 Internet Explorer 9(和 8)中,console 对象仅在针对特定选项卡打开开发人员工具时公开。如果您隐藏该选项卡的开发人员工具窗口,则 console 对象对于您导航到的每个页面都会保持公开状态。如果您打开一个新选项卡,您还必须打开该选项卡的开发人员工具,以便公开 console 对象。

console 对象不是任何标准的一部分,它是文档对象模型的扩展。与其他 DOM 对象一样,它被视为宿主对象,不需要从 Object 继承,也不需要从 Function 继承其方法,就像原生 ECMAScript 函数和对象一样。这就是 applycall 在这些方法上未定义的原因。在 IE 9 中,大多数 DOM 对象都被改进为继承自原生 ECMAScript 类型。由于开发人员工具被认为是 IE 的扩展(尽管是内置扩展),因此它们显然没有获得与 DOM 其余部分相同的改进。

对于它的值(value),您仍然可以在 console 方法上使用一些 Function.prototype 方法,只需一点 bind()魔法:

var log = Function.prototype.bind.call(console.log, console);
log.apply(console, ["this", "is", "a", "test"]);
//-> "thisisatest"

关于javascript - IE9是否支持console.log,它是一个真正的功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5472938/

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