回调函数的执行环境?

来源:5-1 JS链式动画

natsu07

2016-10-16 23:37

链式调用中,第二个调用函数startMove(this,"someAttr",num)中不能直接用this。原因是this指向错误,这是由函数声明引起的。函数声明会进行函数提升,此时变为了全局函数。而this对象是在运行时基于函数的执行环境绑定的,那么this就指向了window,而不是当前的对象。如果“var this = this”,这时就可以使用this了。

————————————————————————————————————

以上摘自一条评论。

求解答,既然是全局函数为什么还能调用onmouseover事件函数里的this变量,这个全局函数和定义在最外面的函数一样吗?

写回答 关注

1回答

  • natsu07
    2016-10-17 01:05:24

    看了红皮书的作用域链差不多明白了,是我搞混了

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题