我有一个带有三个默认参数的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 作为第二个参数发布