js函数默认参数的问题
标签:
JavaScript
今天工作中发现一个bug,我调查询接口的时候,查询方法有四个参数
let getquery = (e,start=1,limit=50,isExport){
...
}
其中limit是分页大小。是有默认值的,所以我调查询办法的时候,我通常会不赋值给参数
this.getquery(formparams,1,null,false)
我发现这样写之后,我查询数据的时候没有给limit参数。
原因是,null值,方法内部会真的当null值处理。
我们来试验一下,先声明一个函数:
let a = function(a=1,b=2){console.log(a+b)}
当我们运行:
a(1,null)
//1 1+null=1
a(1,undefined)
///3 1+2=3
所以想忽略这个参数,我应该是这样写:
this.getquery(formparams,1,undefined,false)
当我limit传undefined 的时候,才会去拿limit的默认值作为实际参数。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦