js中的this非常强大,单纯从字面来理解,其实就是“这个”的意思。但是这个“this”到底指向的是什么,不同的情况,this具备的不同的含义分别是什么。
1.如果一个函数中有this,但是它没有被上一级的对象所调用,那么this指向的就是window。
2.如果一个函数中有this,这个函数有被上一级的对象所调用,那么this指向的就是上一级的对象。
3.如果一个函数中有this,这个函数中包含多个对象,尽管这个函数是被最外层的对象所调用,this指向的也只是它上一级的对象。
如下例所示:
$(".group_checkbox").click(function () { //点击class为group_checkbox时
var serviceID = ($(this).attr("id")).split(",");
var serviceCount = $(".service_checkbox").length;
if(this.checked){//如果是选中状态
for(var i = 0;i < serviceID.length;i++){
for(var j = 0; j < serviceCount; j++){
if(serviceID[i] == $(".service_checkbox")[j].id){
$(".service_checkbox")[j].checked = true;
}
}
}
getServiceParam ();
}
else{ //如果未选中
for(var i = 0;i < serviceID.length;i++){
for(var j = 0; j < serviceCount; j++){
if(serviceID[i] == $(".service_checkbox")[j].id){
$(".service_checkbox")[j].checked = false;
}
}
}
getServiceParam ();
}
});