博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

这是关于JS this的最短一篇

Posted on 2011-06-23 12:32  xuld  阅读(518)  评论(0编辑  收藏  举报

Javascript 的 this 不同于其它编程语言的 this 。

this可以出现在任何位置。如果是全局下,  this 是 window ,不能更改的。

定理: 代码是这样的: c.a()  那么 a函数里面的this就是 c       

默认下, window.a() 是可以省略为 a() 的 所以 直接 a() , this是 window。

代码是这样的: new a() 那么 a函数里面的是this就是a.prototype复制版本,且,new a()的默认返回就是这个复制版本。

a.call 和 a.apply 可以改变默认的this行为, a.call(b, 参数1,...,参数n) 和 a.apply(b, 参数数组) 执行时, a里的 this 是 b。