类型错误: 在控制台上非法调用.log.应用

2022-08-30 04:30:11

如果您在 Chrome 控制台中运行此命令:

console.log.apply(null, [array])

Chrome 会给您一个错误:

// TypeError: Illegal Invocation

为什么?(通过OSX在Chrome 15上测试)


答案 1

当执行上下文从控制台更改为任何其他对象时,它可能不起作用:

这是预料之中的,因为 console.info 期望其“this”引用是控制台,而不是窗口。

console.info("stuff")
stuff
undefined
console.info.call(this, "stuff")
TypeError: Illegal invocation
console.info.call(console, "stuff")
stuff
undefined

此行为是预期行为。

https://bugs.chromium.org/p/chromium/issues/detail?id=48662


答案 2