gpt4 book ai didi

javascript,函数中省略参数,不影响函数

转载 作者:行者123 更新时间:2023-12-03 05:33:18 27 4
gpt4 key购买 nike

我在javascript中看到很多有3个参数的函数,例如第二个参数是一个值,第三个参数是一个函数,当你省略第二个参数时,并像第二个参数一样发送第三个参数(函数);没有错误。它是如何运作的?在某些情况下,第二个和第三个参数是函数,那么这样做吗?这背后的架构是什么?

示例:

完整 3 个参数:

client.query('SELECT $1::int AS number', ['1'], function(err, result) {

2个参数:

client.query('SELECT  * from accounts', function(err, result) 

3 个参数,第二个参数为 null:

client.query('SELECT  * from accounts', null, function(err, result) 

最佳答案

ES2015之前有这样的方式:

function foo(param1, param2, param3){
if(!param2){
param2 = standard_value;
}
if(!param3){
param3 = standard_value;
}
if(typeof param2 === "function"){
param3 = param2;
}
// do stuff
}

使用 ES2015 你可以使用这个:

function foo(param1, param2 = standard_value, param3 = standard_value){
if(typeof param2 === "function"){
param3 = param2;
}
// do stuff
}

关于javascript,函数中省略参数,不影响函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40840202/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com