今天工作中发现一个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的默认值作为实际参数。