js和java写法中this标签的误区

来源:互联网 发布:网络暴力现象分析 编辑:程序博客网 时间:2024/05/16 05:11

 2016年8月28日 每周一篇博客


1.this作用域的问题


var treeObj = {


initParam:function(){

var setting = {
async: {
enable: true,
url: baseURL+ '/URL1',
autoParam: ["id"]
},
data:{
simpleData:{
enable:true,idKey:"id",pIdKey:"pId",rootPId:'0'}
},
callback:{onClick:function(event, treeId, treeNode){
var id = treeNode.id == '0' ? '' :treeNode.id;
$('#categoryContent').attr("src",ctx+"/URL2?guid="+id);

treeObj.createTree();  

                                     //错误写法this.createTree();  这里的this指的是setting

}
}
};

return setting;
},
createTree:function(){

var setting = this.initParam();

$.getJSON(baseURL+ "/URL3",function(data){
     $.fn.zTree.init($("#ztree"), setting, data).expandAll(false);
        });
}

}


         2.额外补充在java中this的误区。


   在一个类继承它的父类比如:

  public class A{

                  private String id ;

                 public void setId(String id) {

                         this.id= id == null ? null : id.trim();

                         }
                   public String getId() {

                         return id;
                  }

  }

A的子类

  public class B extends A{


                 puclic B(String id){//有参的构造方法

                    //  this.id = id ;  错误写法

                      //super.id = id  ; 错误写法

                      setId(id)  ; //正确写法

      }

  }











1 0