2 回答

TA贡献1851条经验 获得超3个赞
his是指向当前引用对bai象du
this.name = name;
-- 这个好理解,指向User对象,不是zhiUser function
this.my_alert = function() {
alert(this.name);
}
function 一个函dao数,这么理解有zhuan点“问题”,正shu确的说法是my_alert 是一个函数类型变量
my_alert 是User的一个属性,他本身是funtion类型,所以这个function类型中的this指向当前对象
this对象bai是在运行时基于函数的执行du环境绑定的,它可能是全局对象zhi或者其他的某个对象,随着函数的执行环境dao不同,this的值也会不一样。但是总有一个原则,那就是this指的是调用函数的那个对象。
还有另一个原则:当没有明确的调用函数的那个对象时,this指向全局对象global,浏览器模式下就是window了。
JavaScript:this是什么?
定义:this是包含它的函数作为方法被调用时所属的对象。
说明:这句话有点咬嘴,但一个多余的字也没有,bai定义非常准确,我们可以分3部分来理解它!
1、包含它的函数。2、作为方法被调用时。3、所属的对象。
看例子:
function to_green(){
this.style.color="green";
}
to_green();
上面函数中的this指的是谁?
分析:包含this的函数是,to_green
该函数作为方法被调用了
该函数所属的对象是?我们知道默认情况下,都是window对象。
OK,this就是指的window对象了,to_green中执行语句也就变为,window.style.color="green"
这让window很上火,因为它并没有style这么个属性,所以该语句也就没什么作用。

TA贡献1806条经验 获得超5个赞
谁调用的a就指向谁,如果没写调用的对象,那么是windows。
obj.a();这时a里面在b后面括号里的this是obj。
如果直接调用a(),那么里面的this是windows(所有全局变量函数的对象)
添加回答
举报