ECMAScript-6 标准的缺省参数



我有一个带有三个默认参数的javascript函数。

function myFunction(first, second='default second variable',  third=function(){console.log('default third function')}, forth=function(){console.log('default forth function')}) {
console.log(first);
console.log(second);
third();
forth();
}
myFunction('hello', function(){console.log('next')});

我想用第一个和第三个参数调用myFunction,但是似乎我只能传递两个连续参数的两个参数,并且必须为第一个参数提供一个参数。因此,第二个函数参数按原样打印,永远不会作为函数进行计算。

问题

1. ECMAScript 2015 (ES6( 如何为默认参数选择参数?

2. 我可以在有多个参数的情况下将第一个参数指定为默认值吗?

3. 另外,我可以为非连续参数分配参数吗?

为什么不使用key-value object作为参数

function myFunction({ first, second="default 2nd variable", third= function() { console.log("default 3rd function") }, forth = function() { console.log("default 4th function") } }){
console.log(first);
console.log(second);
third();
forth();
}
myFunction({first: "hello", third: function() { console.log("3rd") } });

具有默认值的参数需要放在参数的末尾。 在这种情况下,您可以将 null 作为第二个参数发布

最新更新