可以将默认参数设置为变量JS

时间:2017-08-31 12:58:33

标签: javascript

我正在编写我的第一个jquery依赖插件。

我的问题是默认参数可以像这样变量:

var s = 400,
    m = 500,
    l = 700,
    xl = 960;

function breakpoints(s = s, m = m, l = l, xl = xl) {
  return {
    s: s,
    m: m,
    l: l,
    xl: xl
  };
};

在我的初始console.log(s, m, l, xl);声明中使用breakpoints()时,我收到错误:

  

未定义

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:4)

ES6 / ES2015支持参数的默认值,因此只要浏览器支持这些标准,您的代码就会起作用。

话虽如此,你需要给外/内变量赋予不同的名称,否则在你尝试使用它们时它们将无法使用。试试这个:



var s = 400,
    m = 500,
    l = 700,
    xl = 960;

function breakpoints(_s = s, _m = m, _l = l, _xl = xl) {
  return {
    s: _s,
    m: _m,
    l: _l,
    xl: _xl
  };
};

console.log(breakpoints());




答案 1 :(得分:1)

您可以使用从ES6 / ES2015开始的默认参数。唯一的问题是您需要重命名输入参数。



var s = 400,
    m = 500,
    l = 700,
    xl = 960;

function breakpoints(_s = s, _m = m, _l = l, _xl = xl) {
  return {
    s: _s,
    m: _m,
    l: _l,
    xl: _xl
  };
};

console.log(breakpoints());




答案 2 :(得分:0)



var s = 400,
    m = 500,
    l = 700,
    xl = 960;

console.log(breakpoints(s,m,l,xl));

function breakpoints(s, m, l, xl) {
  return {
    s: s,
    m: m,
    l: l,
    xl: xl
  };
};