Javascript

js函数默认参数的问题

本文主要是介绍js函数默认参数的问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

这篇关于js函数默认参数的问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!