setTimeout里接受的第一个参数是一个函数,这个函数箭头形式的,和匿名函数形式的,里边的this指向是不同的,具体验证如下:
一.接受箭头函数
如图所示,setTimeout里接受的是箭头函数的形式,给f指定的this为数组arr。可以看到,f里的this正确的打印为arr,setTimeout里的this同外边的this,也就是f里的this,也是arr
二. 接受匿名函数
如图所示,f里的this正确的显示为call传进去的arr。但是setTimeout里的this是window