Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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 JS-具有默认值的参数_Javascript_Jquery_Arguments - Fatal编程技术网

Javascript JS-具有默认值的参数

Javascript JS-具有默认值的参数,javascript,jquery,arguments,Javascript,Jquery,Arguments,我需要创建一个向其发送自定义参数的函数。 我试图让参数有一个默认值,它是未定义的 但是我不能得到正确的答案,我的代码总是给我默认参数。我做错了什么 您正在将#result3的内容设置为默认选项。breakingPoint而不是参数。breakingPoint 这应该可以解决问题: $("#result3").html(args.breakingPoint); 您正在将#result3的内容设置为默认选项。breakingPoint而不是参数。breakingPoint 这应该可以解决问题:

我需要创建一个向其发送自定义参数的函数。 我试图让参数有一个默认值,它是未定义的

但是我不能得到正确的答案,我的代码总是给我默认参数。我做错了什么


您正在将
#result3
的内容设置为
默认选项。breakingPoint
而不是
参数。breakingPoint

这应该可以解决问题:

$("#result3").html(args.breakingPoint);

您正在将
#result3
的内容设置为
默认选项。breakingPoint
而不是
参数。breakingPoint

这应该可以解决问题:

$("#result3").html(args.breakingPoint);
固定使用:

var default_options = {
    breakingPoint: args.breakingPoint || 2000
  };

使用以下方法修复:

var default_options = {
    breakingPoint: args.breakingPoint || 2000
  };

您的代码中有一些错误:

  • 您的“选项”对象在键中使用不同的大小写:
    Type
    被使用,而
    Type
    被传递
  • 您正在使用
    args
    扩展
    default\u选项,而不是您初始化的
    options
    ,这使它变得毫无用处
  • 您正在使用
    默认选项。断点
    而不是
    选项。断点
    用于
    #结果3
看起来在变量和分配给它们的内容方面有点混乱

你想要的是:

  • args
    -这些是传递给方法的参数(传递的选项)
  • default\u options
    -包含默认选项的对象
  • 选项
    -包含合并选项的对象
这些都需要与案例相匹配


<>编辑:还考虑如果可能的话,在函数范围之外移动您的<代码> Debug选项>代码>声明,这意味着它不会在每次调用函数时创建,提高性能。p> 您的代码中有一些错误:

  • 您的“选项”对象在键中使用不同的大小写:
    Type
    被使用,而
    Type
    被传递
  • 您正在使用
    args
    扩展
    default\u选项,而不是您初始化的
    options
    ,这使它变得毫无用处
  • 您正在使用
    默认选项。断点
    而不是
    选项。断点
    用于
    #结果3
看起来在变量和分配给它们的内容方面有点混乱

你想要的是:

  • args
    -这些是传递给方法的参数(传递的选项)
  • default\u options
    -包含默认选项的对象
  • 选项
    -包含合并选项的对象
这些都需要与案例相匹配


<>编辑:还考虑如果可能的话,在函数范围之外移动您的<代码> Debug选项>代码>声明,这意味着它不会在每次调用函数时创建,提高性能。p> 始终使用默认的\u options.breakingPoint而不是覆盖的值。试试这个:

var sn_test = (function () {
  var default_options = {
    breakingPoint: 2000
  };

  return function (args) {
    args = $.extend({}, default_options, args);
    $("#result1").html(args.type);
    $("#result2").html(args.file);
    $("#result3").html(args.breakingPoint);
  };
})();

Fiddle:

您始终使用默认的\u选项。断点而不是覆盖的值。试试这个:

var sn_test = (function () {
  var default_options = {
    breakingPoint: 2000
  };

  return function (args) {
    args = $.extend({}, default_options, args);
    $("#result1").html(args.type);
    $("#result2").html(args.file);
    $("#result3").html(args.breakingPoint);
  };
})();

Fiddle:

将默认值与参数对象耦合。breakingPoint与参数对象耦合会破坏默认值与参数选项的功能,不是吗?将默认值与参数对象耦合。breakingPoint与参数对象耦合会破坏默认值与参数选项的功能,不是吗?