将值传递给函数中的第n个变量,但不传递值';javascript中的s到n-1变量

将值传递给函数中的第n个变量,但不传递值';javascript中的s到n-1变量,javascript,Javascript,我只想将值传递给第二个参数 function ask(x, y){ alert(x+":"+y); } ask(y=9); 警报应为-->未定义:9 有没有办法呢 请你不要告诉我那是应该做的以下事情 ask(undefined,9); JS不支持命名参数;你不能那样做。您可以使用分解来模拟它 function ask({x, y}={}) { alert(x+":"+y); } ask({y: 1}); 您可以这样做: function ask (x, y) { if (a

我只想将值传递给第二个参数

function ask(x, y){
  alert(x+":"+y);
}

ask(y=9);
警报应为-->未定义:9

有没有办法呢

请你不要告诉我那是应该做的以下事情

ask(undefined,9);

JS不支持命名参数;你不能那样做。您可以使用分解来模拟它

function ask({x, y}={}) {
  alert(x+":"+y);
}

ask({y: 1});
您可以这样做:

function ask (x, y) {
  if (arguments.length === 1) {
    // only one argument was given. Set it to 'y'.
    y = arguments[0];
    x = undefined;
  }
  alert(x+":"+y);
}
一些测试:

ask('hello', 'world'); // alerts 'hello:world'
ask('oops'); // alerts 'undefined:oops'

那么第三个参数在哪里?对不起,我刚刚更新了问题,你没有。创建一个包装器,或者根据params值在函数中玩游戏,或者传递一个对象,应用部分函数应用程序,等等。无论如何,假设ES6。是的,这就是问题中所述的假设。