遇到的问题1

我在执行setTiemout之后,效果并没有触发,然后发现语法错误

// 错误写法
for (var i = 0; i < 6; i++) {
    setTimeout(
            console.log(`这是第 ${i} 次`);
        ,1000);
}
// 正确写法
for (var i = 0; i < 6; i++) {
    (function (t, data) {   // 注意这里是形参
        setTimeout(function () {
            console.log(`这是第 ${t} 次,这是其他参数:${data}`);
        }, 1000 * t);	// 还是每秒执行一次,不是累加的
    })(i, '其他参数')   // 注意这里是实参,这里把要用的参数传进去
}

这是个小插曲,之后,我遇到了Uncaught TypeError: this.XXXXX is not a function

原因是,没在一个域内,所以,直接使用this会报错

解决办法1

在函数内新生成一个that变量,然后用that代替this

var that = this
a(){
		that.B
	}

遇到的问题2

我直接调用了this变量,可能变量会undefined

解决办法2

不要要this,直接let 一个新变量,使得在作用域是同一片