Хороший вопрос.
Причина, по которой JSLint жалуется на это, заключается в том, что она на самом деле противоречит языковой спецификации для параметров переключателя / случая:
http://www.ecma - международный.org / публикации / файлы / ECMA-ST / ECMA-262.pdf
https://developer.mozilla.org/en/JavaScript/Reference/Statements/switch
Компилятор JavaScript это допустит, однако JSLint обеспечивает соответствие кода вашемуболее строгое и правильное подмножество JavaScript.(«Хорошие биты», как выразился Дуглас Крокфорд!)
Кроме того, дополнительная поддержка - это дополнительные символы, которые вам придется передавать с веб-сайта.Если они вам не нужны, зачем их передавать?
Ссылаясь на указанную выше ссылку, та же проблема не возникает в JavaScript.Итак, сработает следующее:
var x = 0;
switch(x){
case 0:
var y = 1;
alert(y);
}
Посмотрите на эту JSFiddle: http://jsfiddle.net/LKWwB/
Наконец, что касается вашего здравомыслия, я бы отказался от слабой хватки, которую вы им оказываете.Я делал это много лет назад, и я гораздо счастливее: -)