[JS基础]Javascript的this在Ext中的应用

如果你只是使用Ext做些小样子,那么你完全不必理会this(Ext的官方例子里面也基本上很少用这个关键字,因为这个原本在其他语言中非常简单的东西在Javascript却变得有时候让人难以捉摸);但是如果你想了解整个Ext框架或是编写可重用的js组件,你就不得不认识清楚这个关键字了。
要点:
[list]
[*][b][size=large]全局环境下this指向window对象[/size][/b]
[img]http://dl.iteye.com/upload/attachment/251306/e695f1e2-7d17-302a-b382-b7f8fcf88dbd.png[/img]
[*][b][size=large]这个函数做为谁的属性被调用,那么this就指向谁,不做为属性被调用时this指向window[/size][/b]
[img]http://dl.iteye.com/upload/attachment/251318/a1326a04-1cf4-3ebd-a71c-70bde92e638b.png[/img]
尽管b是在a函数中定义的,但它却不做为a的属性被调用(注释上说的不准确,实际上b函数是做为a函数的activation object的属性来调用的,这个对象只在运行时产生,运行完后销毁(闭包例外)我们在JS中是取不到的)
[img]http://dl.iteye.com/upload/attachment/251332/323fd3b9-de79-3a24-82fd-760a123b7303.png[/img]
JSON格式直接赋值的直接量对象,灰常简单
[*][b][size=large]函数做为特殊函数属性constructor使用时this指向生成的对象[/size][/b]
[img]http://dl.iteye.com/upload/attachment/251362/11db78f1-eb81-38e7-a4b9-ccac24bee22c.png[/img]
[*][b][size=large]调用函数对象的call或apply方法可以调用这个函数的同时改变this的的指向[/size][/b](call和apply方法的第一个参数是新的this指向对象,后面的参数都是执行函数对象所需要的参数)
[/list]


其实只要完全理解以上四点就可以解释所有this的指向问题了,Ext的一些方法不过是对一些常用的情况进行了封装罢了。
未完成...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值