node里的this和浏览器指向的this不一定一样

s2 = 1111;
function Timer(){
    this.s1 = 0
    this.s2 = 0
    timer1 = setInterval(() => this.s1++, 1000)
    timer2 = setInterval(function(){console.log(this); this.s2=2000;this.s2++}, 1000)
}
var timer = new Timer()

setTimeout(() => console.log(timer.s1), 3100)
setTimeout(() => console.log(timer.s2), 3100)
setTimeout(() => console.log(s2), 3100)

这段代码在node和浏览器的结果是不一样的...

node里的this指向的Timeout类,浏览器指向的是window

猜你喜欢

转载自blog.csdn.net/dongdaxiaopenyou/article/details/81320189