How to create a function and pass in variable length argument list?

旧时模样 提交于 2019-11-26 22:09:19

问题


We can create a function p in the following code:

var p = function() { };
if (typeof(console) != 'undefined' && console.log) {
    p = function() { console.log(arguments); };
}

but the arguments are passed like an array to console.log, instead of passed one by one as in

console.log(arguments[0], arguments[1], arguments[2], ... 

Is there a way to expand the arguments and pass to console.log like the way above?

Note that if the original code were

var p = function() { };
if (typeof(console) != 'undefined' && console.log) {
    p = console.log;
}

then it works well on Firefox and IE 8 but not on Chrome.


回答1:


You can use Function.apply():

console.log.apply(console, arguments);


来源:https://stackoverflow.com/questions/2778513/how-to-create-a-function-and-pass-in-variable-length-argument-list

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!