Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中可以有多个可选参数吗?_Javascript_Arguments_Optional Parameters_Optional Arguments - Fatal编程技术网

JavaScript中可以有多个可选参数吗?

JavaScript中可以有多个可选参数吗?,javascript,arguments,optional-parameters,optional-arguments,Javascript,Arguments,Optional Parameters,Optional Arguments,JavaScript中可以有多个可选参数吗 假设你有一个函数狗,它有3个参数,一个是必需的,两个是可选的 dog(dogsName,[tripsOutOfTheCountry],[doctors visions]的次数] 我知道你可以检查未定义的,但如果该人不向该国提供Trip,因为它是可选的,只提供他们认为的医生就诊数量,该怎么办 运行示例: dog(“生锈的”,10) 他们输入10作为医生访问的次数,因为它是可选的,所以将三次访问保留为空 因此,实际上,该项目在全国范围内的访问量是10人,这

JavaScript中可以有多个可选参数吗

假设你有一个函数狗,它有3个参数,一个是必需的,两个是可选的

dog(dogsName,[tripsOutOfTheCountry],[doctors visions]的次数]

我知道你可以检查未定义的,但如果该人不向该国提供Trip,因为它是可选的,只提供他们认为的医生就诊数量,该怎么办

运行示例:

dog(“生锈的”,10)

他们输入10作为医生访问的次数,因为它是可选的,所以将三次访问保留为空

因此,实际上,该项目在全国范围内的访问量是10人,这是博士访问量的三倍

有没有办法避免这种情况。我不认为有任何办法可以解决这个问题,除了让用户输入0来访问该国

将上述示例修改为
dog(“Rusty,0,10)

我只是提出这个问题,因为我不知道这是否可能


请注意,对于这个陈词滥调的例子,很抱歉这在任何不支持调用时命名参数,但只按位置传递参数的语言中都是相同的问题。如果您可以制定一个明确的规则来标识每个参数,您就可以手动找出什么是什么;例如,如果参数具有不同的类型,如数字和函数在ons上,您可以测试分配给什么的内容,并根据它们的预期类型和顺序进行转换。许多希望公开灵活API的库都会这样做,例如,只需查看允许的变体。不过这一切都取决于您,Javascript根本帮不上您的忙

通常的方法是使用显式名称传递对象:

dog({ name: 'Rusty', numberOfDoctorsVisits: 10 })