在 JavaScript 中,可以向函数发送可变数量的参数,包括来自数组的参数。但是,该方法与 Python 的 *args 表示法不同。
使用数组:
将数组作为参数传递给函数时,它将被视为单个参数。自定义循环可用于迭代数组以访问其元素:
var arr = ['a', 'b', 'c']; var func = function() { // debug console.log(arguments.length); // for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } }; func('a', 'b', 'c', 'd'); // prints 4, then 'a', 'b', 'c', 'd' func(arr); // prints 1, then 'Array'
扩展语法(ES6):
ES6 引入了扩展语法,它允许您直接扩展数组的元素作为函数的单独参数:
func(...arr); // prints 4, then 'a', 'b', 'c', 'd'
参数列表 (ES6 ):
或者,您可以直接在函数参数列表中使用展开语法来为函数的参数:
function func(...args) { args.forEach(arg => console.log(arg)); } const values = ['a', 'b', 'c']; func(...values); func(1, 2, 3);
传递任意参数:
无论使用哪种方法,JavaScript 都允许您向函数传递任意数量的参数。
获取参数长度:
您可以通过访问函数的 length 属性来确定预期参数的数量:
var test = function (one, two, three) {}; console.log(test.length); // 3
使用 apply(旧版):
以前,apply方法可用于将数组作为参数传递给函数并设置 this 值:
func.apply('test', arr);
但是,扩展语法现在因其简单性和多功能性而成为首选。
以上是如何将变量参数传递给 JavaScript 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!