首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ext JS 4:使用私有变量数组错误创建类?

Ext JS 4:使用私有变量数组错误创建类?
EN

Stack Overflow用户
提问于 2013-11-05 20:18:32
回答 1查看 289关注 0票数 0

假设我有以下代码(可在此小提琴上使用):

代码语言:javascript
运行
复制
Ext.onReady(function() {
  Ext.define('TestBlah', {
    extend: 'Ext.panel.Panel',
    counter: 0,
    counters: [],
    initComponent: function() {
      alert("counter: " + this.counter);    // should show 0
      alert("counters: " + this.counters);    // should show nothing
      this.counter++;
      this.counters.push(1);
      this.callParent();
    }
  });

  var one = Ext.create('TestBlah');
  //one.destroy();
  var two = Ext.create('TestBlah');
});

所以,我所做的就是创建一个包含两个私有变量的简单类:counter (一个int)和counters (一个数组)。现在,当我创建类时,我希望onetwo都不会继承其他类。这只适用于counter。创建two时,计数器为0,计数器数组为1。即使我在创建one.destroy();之前添加了two,它仍然具有计数器的价值。这是个虫子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-05 21:29:00

这不是窃听器。当您声明一个类时,所有的东西都会被推到类原型中,这意味着它们在所有实例之间被共享。对于“原始”类型值,它没有任何区别,但是对于数组/对象,这些值将在类的所有实例之间共享。若要修改此行为,请在initComponent中设置计数器

this.counters = [];

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19798123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档