js传递函数作为参数

今天项目中页面对于几个动作都要进行校验判断操作数据是否处于锁定状态,如果锁定的话给出统一提示。如果不是的话,执行对应的各自操作。

此处校验请求及统一提示都是一样的,只是执行各自操作不同。那么可以提取成一个统一方法。各自操作可以作为参数进行传递,传递方式就采用了函数。

同时因为各自操作是需要参数的,所以传递的是一个带参数的函数。

简化结构如下:

统一校验函数

function checkIsLocked(ids,callback){
if(isLocked(ids)){
alert('locked');
}else{
callback();
}
}
点击动作1
function click1(){
//other code
checkIsLocked(ids,function(){
click1NoLockedDo(p1,p2);
})
}
点击动作1未锁定后执行的各自操作
function click1NoLockedDo(p1,p2){
//do(p1,p2);
}

其实主要就是传递带参数的函数。因为没怎么接触js,在这记录下。


你可能感兴趣的:(js)