你这么调用,当然知道this是哪个,但如果是你写的 foo()函数,你在里面用this时,你根本不能确定this是什么,因为很简单,this可以动态绑定:
我就这么调 obj.foo.apply(not_of_Obj_type);
【 在 withinsea (在这个大喜的日子里,我们感到万分悲痛) 的大作中提到: 】
: 标 题: Re: 该如何理解this?
: 发信站: 水木社区 (Fri May 16 10:46:54 2014), 站内
:
: 分两种
:
:
: 1. obj.foo(), 在 foo 里面 this 等于 obj
: 2. foo(),在 foo 里面 this 保持不变
:
: 任何一次函数调用都会出这个区别
: 其它任何情况下 this 都不会变
:
:
: 【 在 wuhaochi (oo) 的大作中提到: 】
: : 把一个对象的成员函数放进了setInterval()里,结果this在第一次执行时是原对象,后来就变成 当前url对象了……
: : 飘忽不定啊!
: : 当时书上说,函数前面的的对象就是this,我觉得这就好理解了,想起以前看过的那本书,讲这个this讲得我晕头转向,根本没懂,索性不用。这次以为懂了,大用特用,结果MD,它还能变……还是在运行时动态绑定的,什么成员函数,跟普通函数没任何区别。
: : ...................
:
: --
: あの空を回る風車の羽根達は ...,,,..
: いつまでも同じ夢見る .::::::::::::::::...
: 届かない場所をずっと見つめてる ::::::'''' _ ,- -""-.
: 願いを秘めた鳥の夢を :'' ,,- ' ` 「AIR」
: ." ``'- -'' .... the 1000th summer
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 123.119.131.141]
--
FROM 116.247.85.*