我有一些代码可以将键盘键映射到不同长度的代码块,从简单的return false
到主要的2-3行代码段,再到复杂的函数:
var k = window.event.keycode;
switch(true){
case(k === 9):
//
break;
case(k === 13):
//
break;
case(k === 38 && selectedRecord > 1):
//
break;
}
我宁愿不创建一个带有函数列表的对象并以这种方式映射它,因为它们主要是短代码块,并且存在奇怪的复杂case
。
是否可以选择禁用switch(true)
的检查(与其他检查一样)?
相关但不重复:Is a reversed switch statement acceptable JavaScript?
答案 0 :(得分:3)
两个想法:
1)您可以通过在文件顶部添加此评论来使linter满意:/*jshint eqeqeq: true */
也就是说,我仍然收到This 'switch' should be an 'if'.
警告。可能是jslint / jshint不会忽略这种结构。
2)我谨此建议您借此机会清理相当奇怪的代码,并按如下方式重写switch
,而不是转换linter选项。
var k = window.event.keycode;
if(k === 9) {
//
} else if(k === 13) {
//
} else if(k === 38 && selectedRecord > 1) {
//
}