javascript - if (typeof myFunction !== 'function') - 为什么它在 Safari 中不起作用?
问题描述
我有这段代码可以在 Chrome 中运行,但在 Safari 中无法正常运行:
if (typeof myFunction !== 'function') {
function myFunction() {
console.log('myFunction invoked');
}
myFunction();
} else {
console.log('myFunction ALREADY DEFINED o_O!');
}
当我在 Chrome 中运行此代码时,它会记录“myFunction invoked”。
当我在 Safari 中运行它时,它会记录“myFunction ALREADY DEFINED o_O!”
我想让 typeof 在 Safari 中的工作与在 Chrome 中相同。我怎样才能实现它?
解决方案
只需使用以下代码:
if (typeof myFunction !== 'function') {
let myFunction = function() {
console.log('myFunction invoked');
}
myFunction();
} else {
console.log('myFunction ALREADY DEFINED o_O!');
}
let
关键字将解决您的问题
推荐阅读
- heroku - 使用 create-react-app 时无效的主机头
- oauth-2.0 - 为什么这个范围表示为 URI?
- vue.js - Vue 嵌套转换无法应用预期的类
- node.js - 将 cookie 字符串解析为坚韧的 cookie 容器
- go - Golang-Paho MQTT 订阅者在重新初始化订阅者后不断断开连接并出现错误 EOF
- vba - 从正文中提取电子邮件地址并自动回复
- vba - 为什么 VBA ContentRange 有时会返回不正确的值?
- windows - JavaFX Windows Native Image HelloFX 示例失败:java.lang.NoSuchMethodError: com.sun.glass.ui.win.WinView.notifyResize(II)V
- python-3.x - 长时间治疗期间的空白 tkinter 窗口
- android - 如何访问 Android 11 另一个应用程序 /Android/data 目录?