javascript,怎样在调用其他函数的时候传递相应的参数?
假如有3个函数:varfun1=function(a1,a2.....an){}//这里有n个参数,n的个数未定.varfun2=function(b1,b2....bm...
假如有3个函数:
var fun1=function(a1,a2.....an ){}//这里有n个参数,n的个数未定.
var fun2=function(b1,b2....bm ){}//这里有m个参数,m的个数未定.m!=n.
var run=function(obj,arge1,arge2....argek)
{//这个函数有k个参数,k的个数未定.它是用来调用fun1和fun2的这些函数的.
// 第一个参数是一个指向obj的指针(如fun1,fun2),其他的参数均是这个obj的参数.
// 然后直接通过run(obj,...)调用obj()这个函数.
//如 run(fun1,1,2,3) ;就相当于执行 fun1(1,2,3)
// run(fun2,1,2); 就相当于执行 fun2(1,2)
// fun1和fun2的参数个数是不一样的,所以,run里面的参数的个数也是根据需要而变化的.
}
不知道我说的够清楚了没有?
现在,问,run(){}这个函数应该怎样写? 展开
var fun1=function(a1,a2.....an ){}//这里有n个参数,n的个数未定.
var fun2=function(b1,b2....bm ){}//这里有m个参数,m的个数未定.m!=n.
var run=function(obj,arge1,arge2....argek)
{//这个函数有k个参数,k的个数未定.它是用来调用fun1和fun2的这些函数的.
// 第一个参数是一个指向obj的指针(如fun1,fun2),其他的参数均是这个obj的参数.
// 然后直接通过run(obj,...)调用obj()这个函数.
//如 run(fun1,1,2,3) ;就相当于执行 fun1(1,2,3)
// run(fun2,1,2); 就相当于执行 fun2(1,2)
// fun1和fun2的参数个数是不一样的,所以,run里面的参数的个数也是根据需要而变化的.
}
不知道我说的够清楚了没有?
现在,问,run(){}这个函数应该怎样写? 展开
4个回答
展开全部
自己看看..你说的很模糊..应该是你要的吧...你适当的理解下...应该就可以了...是可以传一个函数作为参数的..但是要将它实例变成一个对象...
<script>
function sendmes(msg,obj){
if(arguments.length==2)
obj.handlemsg(msg);
else
alert(msg);
}
function obj(){
this.handlemsg=function(msg){
alert("nihao"+msg);
}
}
var obj=new obj();
sendmes("hello,world");
sendmes("hello,world",obj);
</script>
<script>
function sendmes(msg,obj){
if(arguments.length==2)
obj.handlemsg(msg);
else
alert(msg);
}
function obj(){
this.handlemsg=function(msg){
alert("nihao"+msg);
}
}
var obj=new obj();
sendmes("hello,world");
sendmes("hello,world",obj);
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在js里面有一种做法,用paramters(忘记是否这么写了)得到传递给函数的所有参数(数组形式),你调用的时候调用对应的数组就行了。
应该是可以满足你的要求的。
楼上的,给讲讲呗。我一直没搞明白到底怎么回事。那两个函数
应该是可以满足你的要求的。
楼上的,给讲讲呗。我一直没搞明白到底怎么回事。那两个函数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
run.apply(fun1, 1,2,3).
查查 apply和call 这两个方法,可以实现你的要求。
查查 apply和call 这两个方法,可以实现你的要求。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这里是JAVA区,老兄,放错地方了吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询