加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax回调函数参数传递

发布时间:2020-12-15 20:58:33 所属栏目:百科 来源:网络整理
导读:属性方法是可以带参数: Js代码 function ClassX(name){ this .name=name; ClassX.prototype.show= function (param){ alert( this .name+ "" +param); }; } var o= new ClassX( "name" ); o.show( "param" ); //nameparam 但是,上面是虽然是直接在函数签名

属性方法是可以带参数:

Js代码
  1. functionClassX(name){
  2. this.name=name;
  3. ClassX.prototype.show=function(param){
  4. alert(this.name+""+param);
  5. };
  6. }
  7. varo=newClassX("name");
  8. o.show("param");//nameparam


但是,上面是虽然是直接在函数签名中定义了参考,如果不是自己调用o.show('param')时,而是通过其他函数回调传入时,就不一定好使了,因为别人在调用此方法时不一定给你传入此参,比如在使用ajax时

request.onreadystatechange=function(param){...}

request.onreadystatechange=callBack;function callBack(param){...}

时就不好使了,因为此时ajax根本就没有给你传递param参数,正确做法形如:

//request.onreadystatechange=orgEval;//错误作法
  • //request.onreadystatechange=function(request,pOrgName){//错误作法
  • //orgEval(request,pOrgName);
  • //};
  • //...
  • request.onreadystatechange=function(){//正确作法
  • orgEval(request,pOrgName);//在匿名函数内调用回调实现,并直接传入参数,这里用到了JavaScript的闭包性质
  • functionorgEval(req,orgName){
  • }
  • 这样通过在匿名函数内调用回调实现函数,并且直接传入参数即可。

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读