javascript - 错误的 switch case 语法,但适用于除 Safari 以外的所有浏览器
问题描述
这是我的意思的一个例子
switch(fruits) {
case fruits = "Banana":
text = "Banana is good!";
break;
case fruits = "Orange":
text = "I am not a fan of orange.";
break;
case fruits = "Apple":
text = "How you like them apples?";
break;
default:
text = "I have never heard of that fruit...";
}
请注意,案例语法不遵循官方指南
而且它在 VSCode 中没有得到任何警告
奇怪的是,我希望有人能够回答我的是:为什么这段代码仍然适用于除 Safari 之外的所有浏览器?正如您在下面看到的,在 Safari 中发生了另外一件有趣的事情
这就是它在Chrome中的工作方式
这就是它在Safari中的工作方式
这是奇怪的部分,如果我打开Safari Web Inspector,它可以工作,但将其关闭并停止工作
那么发生这种情况的原因是什么?
这里有一个JSFiddle,供那些想亲自查看代码的人使用。感谢w3 Schools 提供示例代码
编辑: 我知道正确的代码如下,所以重复这个问题,为什么上面的代码仍然适用于除 Safari 之外的所有浏览器,而技术上它根本不应该工作
switch(fruits) {
case "Banana":
text = "Banana is good!";
break;
case "Orange":
text = "I am not a fan of orange.";
break;
case "Apple":
text = "How you like them apples?";
break;
default:
text = "I have never heard of that fruit...";
}
解决方案
推荐阅读
- sql - GroupBy + 条件
- python - 从训练有素的分类器 python #Scikitlearn #SVM 进行预测
- serialization - OffsetDateTime 的 Gson 反序列化问题
- powershell - 使用输入列表在 PowerShell 中检索和导出 AD 安全组成员身份
- python - 如何在 HTML 脚本中使用 Jinja 变量?
- javascript - 在 html 链接上放置一个彩色圆圈
- haskell - 带集合的通用深度优先搜索算法
- python - 在python中读取另一个文件的列表
- c++ - 为什么 mkdir() 后跟 ofstream::operator<< 因权限被拒绝而失败?
- django - 在测试设置中创建的对象不能通过数据库访问