JS中this的作用域问题

时间:2022-03-10 06:08:03

在JS使用中,往往会用到this指定的当前对象,使用当前对象的属性以及值。但是,在this使用中关于当前对象的使用时,需要单独定义一个临时变量存储当前的对象的值。

如图中的红色的this需要单独定义变量,方便以后的使用。

而在ajax中返回时,如果不用当时的临时变量_this,使用$(this)使用的是ajax中的返回的对象的值

function(json)对象

                        //发布
$(".J_publish").live("click", function(e){
e.preventDefault();
var _this = $(this);
var id = _this.attr('data-id');
var infoState = _this.attr('data-infoState');
var html = _this.html();
var data = {"infoID":id};
Dialog.confirm("确认"+html+"吗?").done(function(sure){
if (sure) {
$.ajax({
type : "POST",
url : ctx + '/auth/hulaquan/info/info/publish.htm',
dataType : "json",
data : data,
success : function(json) {
if (json.success) {
Utils.Notice.alert(json.message);
if (infoState == 2) {
_this.html("发布");
} else if (infoState == 3) {
_this.html("取消发布");
}
} else {
Utils.Notice.alert(json.message);
}
}
});
}
});
});
 


喜欢的朋友可以扫描我的个人公众号,有好东西可以一起分享。

也可以微信搜索公众号:Java程序员那些事

JS中this的作用域问题