首页 > 解决方案 > 错误的 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,它可以工作,但将其关闭并停止工作 safari webinspector 副本


那么发生这种情况的原因是什么?

这里有一个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...";
}

标签: javascriptgoogle-chromesafarisafari-web-inspector

解决方案


推荐阅读