javascript函数参数的问题。

有个函数:

function uploadHandler(type, crop, callback){
    ....
}

其中type为必传参数,而crop:为true或falsecallback可有可无。

但我又想给crop定义一个默认值,比如false

if(crop === undefined){
    crop === false;
}

然后我这样调用

uploadHandler("img",function(){

})

此时function会被当第二个参数覆盖了crop,请问如何处理?

阅读 3k
2 个回答
function uploadHandler(type, crop, callback){
    if(!type || typeof type !== "string")return;
    if(typeof crop === "function")return uploadHandler(type,true,crop);
    
    ...
}
function uploadHandler(type,crop,callback){
    // 判断crop是否存在 如果不存在就为false,存在就是其自己的值
    crop = (typeof crop === 'undefined') ? false : crop;
    callback = typeof crop === 'function ' ? crop : false;
    // 如果callback为真则执行回调
    callback && callback();
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进