Javascript 中的自定义条件运算符
Custom conditional operator in Javascript
假设我的代码中经常出现以下构造,
if (e.which==13){ ... }
...我想通过以下方式使代码看起来更简洁:
ifEnterPressed{ ... }
有没有办法在Javascript中定义一个运算符,比如ifEnterPressed
?
更新
我发现基本问题是 Javascript 不支持句法宏。
不,你不能像那样定义自定义运算符。
你当然可以写一个辅助方法:
function enterPressed(e) {
return e.which==13;
}
然后:
if(enterPressed(e)) {
// yay!
}
不,你不能在 Javascript 中这样做,但你可以使用函数:
function isEnter (e) {
return e.which === 13;
}
然后
if (isEnter(e)) {
// do something!
}
除了带有函数的解决方案外,您还可以使用对象来分组和保存键码,例如
KEY = {
enter: 13
}
用法:
if (e.which === KEY.enter){ ... }
假设我的代码中经常出现以下构造,
if (e.which==13){ ... }
...我想通过以下方式使代码看起来更简洁:
ifEnterPressed{ ... }
有没有办法在Javascript中定义一个运算符,比如ifEnterPressed
?
更新
我发现基本问题是 Javascript 不支持句法宏。
不,你不能像那样定义自定义运算符。
你当然可以写一个辅助方法:
function enterPressed(e) {
return e.which==13;
}
然后:
if(enterPressed(e)) {
// yay!
}
不,你不能在 Javascript 中这样做,但你可以使用函数:
function isEnter (e) {
return e.which === 13;
}
然后
if (isEnter(e)) {
// do something!
}
除了带有函数的解决方案外,您还可以使用对象来分组和保存键码,例如
KEY = {
enter: 13
}
用法:
if (e.which === KEY.enter){ ... }