Javascript中this的指向问题

javascript中例如下面代码:
function User(name) {
this.name = name;
this.my_alert = function() {
alert(this.name);
}
};

$(function() {
var user = new User('Cherlse');
user.my_alert();
}
请问,在my_alert函数中的this是指向User()函数还是指向my_alert()这个函数?
# 上面的测试是输出"Cherlse",但是根据我的理解是每个函数都有this属性,所以此this应该是指向my_alert()函数的,不会指向User()。求解!!

第1个回答  推荐于2016-02-04
this是指向当前引用对象

this.name = name;
-- 这个好理解,指向User对象,不是User function

this.my_alert = function() {
alert(this.name);
}
function 一个函数,这么理解有点“问题”,正确的说法是my_alert 是一个函数类型变量
my_alert 是User的一个属性,他本身是funtion类型,所以这个function类型中的this指向当前对象本回答被提问者采纳
相似回答