Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于条件语句的多参数调用函数_Javascript_Function_Conditional Statements - Fatal编程技术网

Javascript 基于条件语句的多参数调用函数

Javascript 基于条件语句的多参数调用函数,javascript,function,conditional-statements,Javascript,Function,Conditional Statements,标题说明我有以下功能: var foo = function(arg1, arg2,arg3) { // code } 我想做一些类似的事情: foo('bar', (x == true ? arg2, arg3 : arg2,arg3)) 但是我遇到了SyntaxError:Unexpected token,这样做的正确语法是什么 var foo = function(arg1, arg2,arg3) { console.log(arguments) } var x = f

标题说明我有以下功能:

var foo = function(arg1, arg2,arg3) {
    // code
}
我想做一些类似的事情:

foo('bar', (x == true ? arg2, arg3 : arg2,arg3))
但是我遇到了
SyntaxError:Unexpected token,
这样做的正确语法是什么

var foo = function(arg1, arg2,arg3) {
    console.log(arguments)
}
var x = false;
var args = [];
args.push('bar');
x == true ? (function(){args.push('arg2'); args.push('arg3')})() : args.push('arg2');
console.log(args)
foo.apply(this,args)
有两种方法可以将
变量
no参数传递给函数

  • 根据您的需要使用其中一种

    有两种方法可以将
    变量
    no参数传递给函数


  • 根据需要使用任意一个。

    我认为保存几个字符是不值得的。拥有可读的代码更有价值。只需买一个迷你/丑八怪,然后执行以下操作:

    if(x === true){
       foo('bar', arg2, arg3);
    }else{
       foo('bar', arg2, arg3);
    }
    

    我认为保存几个字符是不值得的。拥有可读的代码更有价值。只需买一个迷你/丑八怪,然后执行以下操作:

    if(x === true){
       foo('bar', arg2, arg3);
    }else{
       foo('bar', arg2, arg3);
    }
    

    我会像JCOC611所说的那样考虑可读性

    然而,“正确”的方法是使用.apply():


    我会像JCOC611所说的那样考虑可读性

    然而,“正确”的方法是使用.apply():


    你到底想实现什么?你到底想实现什么?我部分不同意这个解决方案,当一个函数有一个特定的方法(应用)时,我们应该使用它。我部分不同意这个解决方案,当一个函数有一个特定的方法(应用)时,我们应该使用它。