JS闭包特性在DWR中的应用

来源:互联网 发布:如何更新mac os版本 编辑:程序博客网 时间:2024/06/05 14:23
var dataFromBrowse = "data from browse"
function callBackProxy(dataFromServer) 
    callbackFun(dataFromServer, dataFromBrowse); 
}

function callbackFun(dataFromServer, dataFromBrowse) 
    alert(dataFromBrowse); 
    alert(dataFromServer); 
}

function say() 
    
var data; 
    data 
= DWRUtil.getValue("content"); 
    helloworld.sayHello(data,callBackProxy); 
}
 

本来我们是用helloworld.sayHello(data,你的回调函数名)来实现的。
但,如果我们想在client这边给我们的回调函数多一些参数,以实现多一些功能,而不仅仅在页面只能利用server端给我们发来的一个数据data,就要用上面的方法。

原理是这样的,我们还是在helloworld.sayHello(data,callBackProxy)填写了一个回调函数,不过它只是一个代理函数,真正做事的是callbackFun,它由callBackProxy在里面调用它。
而这时由于闭包的特性,内函数可以用到外函数的参数变量,所以就实现了多参数的功能。

原创粉丝点击