比较好玩的问题

原文链接

http://www.sencha.com/forum/showthread.php?132045-why-using-quot-var-me-this-quot-in-ext4


先是标题:

why using "var me = this;" in ext4?


然后1楼萌萌的楼主发问了


1L表示不能理解为什么使用

var me=this;
me.functionName();

而不是直接使用
this.functionName();


然后3楼回答了



他提到了2个原因:1、从前有个人告诉他这么做comply更好,更节省空间 2、真正的原因是:在他的IDE上“this”字符串会高亮呈蓝色显示,他对这一点很不爽。
看头像和语言就知道这哥们很cute


然后 evant  大神来了









最后的代码缩进了,图片可能看不清,

主要思想如果函数中代码比较少·时候,不会节省肯多空间比如
function doA(){var a=this;a.a();a.b();a.c();a.d()};
function doB(){this.a();this.b();this.c();this.d()};
但是当函数中代码比较多时候,

function doA(){var a=this;a.a();a.b();a.c();a.d();a.e();a.f();a.g();a.h();a.i();a.j();a.k();a.l()}
function doB(){this.a();this.b();this.c();this.d();this.e();this.f();this.g();this.h();this.i();this.j();this.k();this.l()};

可以看到下面的比上面的长,所以节省了空间

evant  大神详细说明了3楼的第一个原因,好有耐心





最后又有一个哥们补充了一下这么干的好处



这是grid中有一个toolbar,  toolbar中有一个button,button中的handler使用了me,这个时候me就是代指grid,如果把me替换成this

// a grid, for example
initComponent: function() {
  var me = this;
  ...

  me.toolbar = new Ext.Toolbar({
    items: [
      { text: 'refresh', handler: function() { this.store.reload(); } }
    ]
  });
...

这个时候this就是指text为refresh的button,
这样做可以避免混乱









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值