标题已经说明了一切,我有以下函数:
var foo = function(arg1, arg2,arg3) {
// code
}
我想做类似以下的事情:
foo('bar', (x == true ? arg2, arg3 : arg2,arg3))
但我遇到了SyntaxError: Unexpected token ,
这种错误,该怎么正确地书写语法以实现此类操作呢?
标题已经说明了一切,我有以下函数:
var foo = function(arg1, arg2,arg3) {
// code
}
foo('bar', (x == true ? arg2, arg3 : arg2,arg3))
但我遇到了SyntaxError: Unexpected token ,
这种错误,该怎么正确地书写语法以实现此类操作呢?
我会像JCOC611所说的那样选择可读性...
然而,"正确"的方法是使用.apply():
foo.apply(this, (x == true ? [arg1, arg2, arg3] : [arg1 ,arg2, arg3]))
我认为节省几个字符并不值得。拥有易读的代码更加有价值。只需要使用一个压缩/混淆工具,然后按照以下步骤操作:
if(x === true){
foo('bar', arg2, arg3);
}else{
foo('bar', arg2, arg3);
}