创建一个对象,然后 setTimeout
执行,形如:
var obj = {
foobar: 4,
event: function() {
console.log(this);
}
};
setTimeout(obj.event, 2000);
输出结果为:
Timeout {
_called: true,
_idleTimeout: 2000,
_idlePrev: null,
_idleNext: null,
_idleStart: 53,
_onTimeout: [Function],
_repeat: null }
即在setTimeout函数调用obj中的event之后,event中的this指针指向了一个类型为setTimeout返回的Timeout
句柄的对象,具体是不是改setTimeout返回的对象我没有深究。
我想实现的是在event中能使用 foobar
的值,本来想用this实现,结果发现了这个问题。
有没有什么办法可以使用该值呢?
一脸懵逼= =,没有的话我就只能换思路了。