我正在查看node.js文档,并且遇到了方法文档:
http.request(options[, callback])
我很好奇为什么参数(options [,callback])就像这样表示。我有点理解它是如何工作的以及它意味着什么。我相信它大致类似于:
http.request = function(options=undefined, callback) {
// code using default values for options
};
我知道它远不止于此,但我对参数表示主要感到好奇。我在任何MDN Javascript文档中都找不到任何信息。
它是表示ECMA6默认参数和解构的简便方法吗?
答案 0 :(得分:1)
方括号用于可选参数,因此该方法需要一个"选项"争论并可能有第二次回调"论点。这是描述方法接口的标准方法。
答案 1 :(得分:0)
在Javascript中,根据调用函数时给定的参数,有一些可选的参数。通常,您描述的语法类似于此:
function someStuff(aParam, optionalParam){
console.log("using the aParamter = " + aParam + ".The optional param it's " + (optionalParam? ("present with value = " + optionalParam ) : "notPresent" ) )
}
someStuff(1, 2);
someStuff(1);
恕我直言,对此没有标准,另一种选择:
function importantThingToDo(theMostImportantParam){
var options = arguments[1] || {/* a default optional params*/
option : 1
};
console.log("This callback was called with the options: " options");
}
importantThingToDo("play guitar");
importantThingToDo("play bass", {option: 2});
答案 2 :(得分:-1)
以下是NodeJS文档的链接,您将在NodeJs Documentation找到您正在使用的方法 选项是一个对象,您可以在其中配置不同的选项/设置,例如协议,主机和主机名。这将是该参数的一个示例:
{
protocol: value,
host: value,
}
参数回调是http.request结束后要执行的函数,节点JS中的所有方法都是异步和非阻塞的,在第一个参数中你会收到一个错误(如果有的话)和在其他参数中的响应