牧羊人nacy
2019-07-13 10:30:31
是否可以向JavaScript函數(shù)發(fā)送可變數(shù)量的參數(shù)?可以從數(shù)組向JavaScript函數(shù)發(fā)送可變數(shù)量的參數(shù)嗎?var arr = ['a','b','c']var func = function(){
// debug
alert(arguments.length);
//
for(arg in arguments)
alert(arg);}func('a','b','c','d'); // prints 4 which is what I want, then 'a','b','c','d'func(arr); // prints 1, then 'Array'我最近寫了很多Python,能夠接受varargs并發(fā)送它們是一個(gè)很好的模式。G.def func(*args):
print len(args)
for i in args:
print i
func('a','b','c','d'); // prints 4 which is what I want, then 'a','b','c','d'func(*arr) // prints 4 which is what I want, then 'a','b','c','d'是否可以在JavaScript中發(fā)送待處理的數(shù)組如參數(shù)數(shù)組?
3 回答

qq_遁去的一_1
TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
var otherFunc = function() { alert(arguments.length); // Outputs: 10}var myFunc = function() { alert(arguments.length); // Outputs: 10 otherFunc.apply(this, arguments);}myFunc(1,2,3,4,5,6,7,8,9,10);

largeQ
TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
var arr = ['quick', 'brown', 'lazy'];var sprintf = function(str, ...args){ for (arg of args) { str = str.replace(/%s/, arg); } return str;}sprintf.apply(null, ['The %s %s fox jumps over the %s dog.', ...arr]); sprintf('The %s %s fox jumps over the %s dog.', 'slow', 'red', 'sleeping');
sprintf('The %s %s fox jumps over the %s dog.', ...arr);
for...of
for...in
添加回答
舉報(bào)
0/150
提交
取消