- functionClassX(name){
- this.name=name;
- ClassX.prototype.show=function(param){
- alert(this.name+""+param);
- };
- }
- varo=newClassX("name");
- o.show("param");//nameparam
但是,上面是虽然是直接在函数签名中定义了参考,如果不是自己调用o.show('param')时,而是通过其他函数回调传入时,就不一定好使了,因为别人在调用此方法时不一定给你传入此参,比如在使用ajax时
request.onreadystatechange=function(param){...}
或
request.onreadystatechange=callBack;function callBack(param){...}
时就不好使了,因为此时ajax根本就没有给你传递param参数,正确做法形如:
//request.onreadystatechange=orgEval;//错误作法
@H_301_83@//request.onreadystatechange=function(request,pOrgName){//错误作法
@H_301_83@//orgEval(request,pOrgName);
@H_301_83@//};
@H_301_83@//...
request.onreadystatechange=function(){//正确作法
orgEval(request,pOrgName);//在匿名函数内调用回调实现,并直接传入参数,这里用到了JavaScript的闭包性质
functionorgEval(req,orgName){
}