JavaScript:如何把方法作为参数传递

2024-10-28 04:12:25
推荐回答(4个)
回答(1):

1、定义二个方法

function k1(){//定义一个函数k1
   alert('k1');
}
function k2(p){//定义一个函数k2,参数为方法
   p();//执行参数表示的函数
}

2、k1作为参数,传递到k2中

k2(k1);//把k1作为参数传入到k2中,这里执行后会弹出 "k1"

回答(2):

isUserRight(this.id,window.parent.addEmployeeWin() );
addEmployeeWin后面不能有那对括号,有括号就表示调用addEmployeeWin,并把函数的返回结果传给了IsUserRight.

回答(3):

应该是传入 isUserRight(this.id,window.parent.addEmployeeWin);

你这样传 window.parent.addEmployeeWin()
然后 win() 不是执行两次? window.parent.addEmployeeWin()()
这样 判断为ture 时候就 踩执行 win() 而不是传参时候就调用了一遍

回答(4):

如果你的方法只有两个,那就根据TURE,FALSE执行不同的方法就好啦。如果有多过,那就传一个函数据的名称字符串进去,然后用JS的eval函数来执行。