Неправильный синтаксис регистра, но работает во всех браузерах, кроме Safari - PullRequest
0 голосов
/ 27 июня 2018

Вот пример того, что я имел в виду

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 chrome copy


Вот как это работает в Safari safari copy


А вот странная часть, если я включу Safari Web Inspector , он работает, но выключает его и перестает работать safari webinspector copy


Так в чем причина этого?

А вот JSFiddle для тех, кто хочет увидеть код в действии самостоятельно. Спасибо, w3 Schools за образец кода


EDIT: Мне известно, что правильный код следующий, поэтому повторю вопрос: почему приведенный выше код работает во всех браузерах, кроме 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...";
}
...