azz*_*z0r 5 javascript function
我有一个函数,我想传递一个参数,但我希望它默认为0.
是否有可能与PHP类似,例如:
function byMonth(export=0) {
Run Code Online (Sandbox Code Playgroud)
非常感谢
Pab*_*dez 11
不要这样做
function byMonth(export){
export = export || 0;
alert(export);
}
Run Code Online (Sandbox Code Playgroud)
编辑:
以前的版本有一个无声的bug,我只是作为一个不做的例子.
问题是,假设您传递函数参数false,它将采用默认值,尽管您实际上使用参数调用它.
所有这些其他参数将被忽略,默认将被使用(因为favascript的javascript概念)
0""NaNfalsenullundefined检查参数是否存在的更安全的方法是:
function byMonth(export){
if(export === undefined) export = 0;
}
Run Code Online (Sandbox Code Playgroud)
编辑2:
之前的功能不是100%安全的,因为有人(可能是一个白痴)可以定义undefined使功能出乎意料地行为.这是一个最终的,适用于任何地方的防弹版本:
function byMonth(export){
var undefined;
if(export === undefined) export = 0;
}
Run Code Online (Sandbox Code Playgroud)