- 主题:该如何理解this?
分两种
1. obj.foo(), 在 foo 里面 this 等于 obj
2. foo(),在 foo 里面 this 保持不变
任何一次函数调用都会出这个区别
其它任何情况下 this 都不会变
【 在 wuhaochi (oo) 的大作中提到: 】
: 把一个对象的成员函数放进了setInterval()里,结果this在第一次执行时是原对象,后来就变成 当前url对象了……
: 飘忽不定啊!
: 当时书上说,函数前面的的对象就是this,我觉得这就好理解了,想起以前看过的那本书,讲这个this讲得我晕头转向,根本没懂,索性不用。这次以为懂了,大用特用,结果MD,它还能变……还是在运行时动态绑定的,什么成员函数,跟普通函数没任何区别。
: ...................
--
FROM 123.119.131.141
……嘛我把这个看作 not_of_Obj_type.foo() 就是了……
【 在 wuhaochi (oo) 的大作中提到: 】
: 你这么调用,当然知道this是哪个,但如果是你写的 foo()函数,你在里面用this时,你根本不能确定this是什么,因为很简单,this可以动态绑定:
: 我就这么调 obj.foo.apply(not_of_Obj_type);
--
FROM 123.119.131.141
window.setInterval 嘛。
【 在 wuhaochi (oo) 的大作中提到: 】
: 要按你这么看,那对楼主的悟性要求也太高了。
: setInterval(obj.query); 执行 query时,其this是哪个?
--
FROM 123.119.131.141