数码资讯
Javascript中的默认参数详细解决方案
有些语言,如Ruby,Coffeescript和即将到来的Javascript版本,可以声明默认参数定义一个函数时。 复制代码代码如下所示: 功能myfunc(参数,param2 =二线){ console.log(参数,param2); } 第一个字符串和输出:第二个字符串 MyFunc(第一个字
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
有些语言,如Ruby,Coffeescript和即将到来的Javascript版本,可以声明默认参数定义一个函数时。
复制代码代码如下所示:
功能myfunc(参数,param2 =二线){
console.log(参数,param2);
}
第一个字符串和输出:第二个字符串
MyFunc(第一个字符串);
第一个字符串和输出:第二个字符串版本2
MyFunc(第一个字符串
不幸的是,在当前版本的Javascript中,这种写作风格是无效的,那么我们能做些什么来使用我们现有的工具集呢
最简单的解决方案是这样的。
复制代码代码如下所示:
功能myfunc(参数,param2){
如果(param2 = undefined){
param2 =二线;
}
console.log(参数,param2);
}
第一个字符串和输出:第二个字符串版本2
MyFunc(第一个字符串
事实上,一个被忽略的参数在访问时总是未定义的,如果只有一个参数,这是一个很好的解决方案。如果有不止一个呢
如果您不止一个参数,您可以使用一个对象作为参数,所以每个参数都有一个明确的名称,这是一个优势。
复制代码代码如下所示:
功能myfunc(paramobject){
无功defaultparams = { {
第一个字符串参数:
param2:第二柱
param3:第三线
};
无功finalparams = defaultparams;
我们遍历每个属性 / paramobject
对于(在paramobject VAR键){
如果当前属性未继承,请继续
如果(paramobject.hasownproperty(关键)){
当前属性定义为,
它finalparams / /添加
如果(paramobject {key}!=未定义的){
finalparams {key} = paramobject {key};
}
}
}
console.log(finalparams.param1,
finalparams.param2,
finalparams param3);
}
MyFunc({参数:我自己的字符串});
这有点笨拙。如果你用这种方式很多地方,你可以写一个包函数。幸运的是,现在许多库都有相关的方法,比如用jQuery和下划线扩展。
下面使用下划线的扩展方法来获得上面相同的结果:
复制代码代码如下所示:
功能myfunc(paramobject){
无功defaultparams = { {
第一个字符串参数:
param2:第二柱
param3:第三线
};
无功finalparams = _延伸(defaultparams,paramobject);
console.log(finalparams.param1,
finalparams.param2,
finalparams param3);
}
输出:
我自己的字符串和第二个字符串和第三个字符串
MyFunc({参数:我自己的字符串});
这就是如何在当前Javascript版本中获得默认参数的方法。
这篇文章的不足之处值得批评。
复制代码代码如下所示:
功能myfunc(参数,param2 =二线){
console.log(参数,param2);
}
第一个字符串和输出:第二个字符串
MyFunc(第一个字符串);
第一个字符串和输出:第二个字符串版本2
MyFunc(第一个字符串
不幸的是,在当前版本的Javascript中,这种写作风格是无效的,那么我们能做些什么来使用我们现有的工具集呢
最简单的解决方案是这样的。
复制代码代码如下所示:
功能myfunc(参数,param2){
如果(param2 = undefined){
param2 =二线;
}
console.log(参数,param2);
}
第一个字符串和输出:第二个字符串版本2
MyFunc(第一个字符串
事实上,一个被忽略的参数在访问时总是未定义的,如果只有一个参数,这是一个很好的解决方案。如果有不止一个呢
如果您不止一个参数,您可以使用一个对象作为参数,所以每个参数都有一个明确的名称,这是一个优势。
复制代码代码如下所示:
功能myfunc(paramobject){
无功defaultparams = { {
第一个字符串参数:
param2:第二柱
param3:第三线
};
无功finalparams = defaultparams;
我们遍历每个属性 / paramobject
对于(在paramobject VAR键){
如果当前属性未继承,请继续
如果(paramobject.hasownproperty(关键)){
当前属性定义为,
它finalparams / /添加
如果(paramobject {key}!=未定义的){
finalparams {key} = paramobject {key};
}
}
}
console.log(finalparams.param1,
finalparams.param2,
finalparams param3);
}
MyFunc({参数:我自己的字符串});
这有点笨拙。如果你用这种方式很多地方,你可以写一个包函数。幸运的是,现在许多库都有相关的方法,比如用jQuery和下划线扩展。
下面使用下划线的扩展方法来获得上面相同的结果:
复制代码代码如下所示:
功能myfunc(paramobject){
无功defaultparams = { {
第一个字符串参数:
param2:第二柱
param3:第三线
};
无功finalparams = _延伸(defaultparams,paramobject);
console.log(finalparams.param1,
finalparams.param2,
finalparams param3);
}
输出:
我自己的字符串和第二个字符串和第三个字符串
MyFunc({参数:我自己的字符串});
这就是如何在当前Javascript版本中获得默认参数的方法。
这篇文章的不足之处值得批评。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。