首页 > 解决方案 > 为什么向函数传递的参数比调用()期间定义的参数多?

问题描述

如果标题不清楚:

var s = function(a,b){
  // do something 
}
s.call(thisArg,a,b,c,d,e,f)

在上面的代码中,s函数只有2个参数,但是当它被call()时,却传递了6个参数,为什么人们会这样做呢?简单地评估 c,d,e,f?

真实代码太长,这里只能截图了: 在此处输入图像描述

在控制台可以看到,e[i][0]作为一个函数定义了3个参数,但是在call()ed的时候却传了7个参数,这样做的目的是什么?

如果您有兴趣查看实际代码,请访问:http: //a.nycweb.io/components/com_community/assets/chat/chat.min.js

标签: javascriptnode.jsbackbone.jsunderscore.jscall

解决方案


推荐阅读