function Timer() {
this.s1 = 0;
this.s2 = 0;
// 箭头函数 函数生效时所在的对象
setInterval(() => this.s1++, 1000);
// 普通函数 全局作用域
setInterval(function () {
this.s2++;
}, 1000);
// setInterval(function () {
// this.s2++;
// }.apply(this), 1000); // 1 ?
// setInterval(function () {
// this.s2++;
// }.bind(this), 1000); // 3 ?
}
var timer = new Timer();
setTimeout(() => console.log('s1: ', timer.s1), 3100);
setTimeout(() => console.log('s2: ', timer.s2), 3100);