Javascript 为什么Safari中的范围缩减会破坏现有代码?

Javascript 为什么Safari中的范围缩减会破坏现有代码?,javascript,safari,Javascript,Safari,Firefox在这方面没有问题 var logger = window.console.log, // breaks Safari but not Firefox 但是Safari在我第一次尝试使用logger时就给出了一个类型错误。请注意下面的代码片段 我继续使用window.console.log替换了所有日志记录程序,以消除错误 我不明白为什么Safari不喜欢它,为什么它称之为类型错误 错误 类型错误:类型错误 片段 这应该起作用: var logger = window.conso

Firefox在这方面没有问题

var logger = window.console.log,  // breaks Safari but not Firefox
但是Safari在我第一次尝试使用logger时就给出了一个类型错误。请注意下面的代码片段

我继续使用window.console.log替换了所有日志记录程序,以消除错误

我不明白为什么Safari不喜欢它,为什么它称之为类型错误

错误

类型错误:类型错误

片段

这应该起作用:

var logger = window.console.log.bind(window.console)
这应该起作用:

var logger = window.console.log.bind(window.console)

我的第一个猜测是,这是因为此内部记录器不再是控制台,而是窗口,Safari不喜欢它。相关:我的第一个猜测是,这是因为此内部记录器不再是控制台,而是窗口,Safari不喜欢它。相关: