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) ; //正确写法
}
}