MDN上不同的括号可选参数符号是什么意思

问题描述 投票:2回答:1

这非常简单,但我想知道为什么事情就是这样。我正在尽力为我的应用程序编写js文档,所以我使用jsDoc约定并引用MDN作为指南和bla bla bla,但我的问题是关于如何在MDN参考上编写文档。

采用两种简单的方法:console.log()Math.min()以及它们在MDN上记录的语法

console.log(obj1 [, obj2, ..., objN]);
console.log(msg [, subst1, ..., substN]);

Math.min([value1[, value2[, ...]]])

如果我理解正确console.log说,我需要第一个参数,其余的是可选的。可选参数用括号+逗号“[,”表示,而必需参数用逗号“,”表示。

另外,要引用许多参数,文档编写为“subst1, ..., substN”。

看看Math.min这是非常相似和明显不同,但为什么呢?我理解Math.min中的第一个arg是可选的(返回Infinity),而在console.log中它不是可选的(你会得到undefined)。如果我正确理解语法,Math.min的语法可以写成,

Math.min([value1, ..., valueN]) 

声明所有参数都是可选的,并且该方法接受零个或多个参数,但我们在每个参数周围都有括号。

是否有理由说明文档的编写方式,如果是,请解释这些差异是什么。

javascript
1个回答
0
投票

实际上我总是相信语法fn(a, [b, c, d])意味着你只能使用fn(a)fn(a, b, c, d)

但无论如何,console.logMath.min表现完全相同 - 他们处理所有的论点。如果为任一函数提供零参数,则没有错误。这是我在控制台中得到的:

> Math.min()
Infinity
> console.log()
(nothing to output)

此外,console.log的返回值独立于参数 - 总是undefined

console.log()==console.log(666) //true
© www.soinside.com 2019 - 2024. All rights reserved.