考虑示例
var example = function(a = 10, b = 15, c) {
return c;
}
所以,我想仅使用example
的值来调用c
函数。像,
example(20); // should return 20, without disturbing the values of a and b
我将如何在JavaScript中执行此操作?
答案 0 :(得分:3)
你想要的是使用destructring赋值可以实现,但它需要一些mods。我可以看到你正在使用es2015 / es6代码来设置默认值。你可能会考虑这个:
var example = function([a = 10, b = 15, c]) {
console.log(a,b, c);
//return c;
}
example([,,20]);
答案 1 :(得分:1)
您应该考虑在函数声明的末尾使用预定义变量:
var example = function(a, b = 10, c = 15 ) {
return a;
}
结果将是
example(20); // ->> 20
答案 2 :(得分:0)
当您调用示例时,您可以将null
作为a
和b
的参数传递。
var example = function(a = 10, b = 15, c) {
return c;
}
console.log(example(null, null, 20))
或者你可以只使用object作为参数。
var example = function(obj) {
obj.a = obj.a || 10;
obj.b = obj.b || 15;
return obj.c;
}
console.log(example({c: 20}))
答案 3 :(得分:0)
您可能不得不使用对象:
var example = function(passed_options) {
$.extend( default_options, passed_options );
return c;
}
希望这有帮助。
示例代码段
var example = function( passed_options ) {
$.extend( {a: 10, b: 15}, passed_options );
return passed_options.c;
}
console.log( example({c: 20}) );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 4 :(得分:0)
您可以使用参数对象来模拟命名参数:
var example = function(params) {
const a = params.a || 10;
const b = params.b || 15;
const c = params.c || 20;
}
并调用:
example({c:42});