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与参数对象耦合会破坏默认值与参数选项的功能,不是吗?