Ext.extend 注意config中定义的数组 导致对象共用的问题
来源:互联网 发布:python 字符转整数 编辑:程序博客网 时间:2024/04/29 17:46
现象:
如果加到constructor中 或者 如果把数组改为一个基本属性 效果又会怎样
结论: 由于Ext继承是直接使用的prototype 所以定义在config中的属性都是共有的 当进行操作的时候 如果使用this.tabVisible[] 实际上操作的是公有(我理解为static)的数组,所以这时候tab1.tabVisible===tab2.tabVisible
如果在constructor中定义,则是为每个对象分配了一个tabVisible[],互不影响
如果使用基本属性 prototype中会有这个属性定义, 但是如果对某个对象 比如tab1中写this.tabVisible=true,那么实际上就会单独为tab1分配出一个对象属性,与prototype以及tab2分离
MyTabPanel = Ext.extend(Ext.TabPanel, {tabVisible : [false],constructor : function(config) {//this.tabVisible = [];},changeVisible : function(b){this.tabVisible[0]=true;}});var tab1 = new MyTabPanel();var tab2 = new MyTabPanel();tab1.changeVisible(true);//tab2.tabVisible=?
如果加到constructor中 或者 如果把数组改为一个基本属性 效果又会怎样
结论: 由于Ext继承是直接使用的prototype 所以定义在config中的属性都是共有的 当进行操作的时候 如果使用this.tabVisible[] 实际上操作的是公有(我理解为static)的数组,所以这时候tab1.tabVisible===tab2.tabVisible
如果在constructor中定义,则是为每个对象分配了一个tabVisible[],互不影响
如果使用基本属性 prototype中会有这个属性定义, 但是如果对某个对象 比如tab1中写this.tabVisible=true,那么实际上就会单独为tab1分配出一个对象属性,与prototype以及tab2分离
0 0
- Ext.extend 注意config中定义的数组 导致对象共用的问题
- 数组定义注意的问题
- MDK中定义共用体遇到的问题
- 《Ext江湖》学习笔记--JS中变量、对象和数组的定义与使用
- Ext的extend继承
- Ext Js的extend
- 关于在函数中定义大数组(局部变量)所导致的问题
- Ext的extend继承1
- Ext的extend继承1
- 定义常量类对象(需要注意的问题)
- php5 中, 对象引用的注意问题
- 关于STM32中定义数组的问题
- Ext.Msg.alert要注意的问题
- JavaScript 创建存放对象的数组注意的问题
- ios开发中共用证书的问题
- (2)ExtJs4.2 类的定义、继承相关 define extend config constructor alias等
- PHP5 foreach对象数组需要注意的问题
- javascript访问对象数组时要注意的问题
- sql记录2
- AndroidStudio常用功能和技巧
- win7 Eclipse Indigo Courier New 字体问题
- 把项目从Maven迁移到Gradle
- 转: dom4j中使用xpath解析带命名空间的xml文件,取不到节点的解决办法
- Ext.extend 注意config中定义的数组 导致对象共用的问题
- WebSphere莫名自动重启\OOM问题记录
- HBase API 所需Jar包
- Eclipse Hover 提示过快
- HadOOP部署和调试遇到的一些问题 V1.0.2
- 转:中国省/市/县三级联动MySQL数据
- [转] [备忘]原生JS获取dom的左上坐标
- diffuse
- WCF服务端与使用HttpClient的Android客户端简单示例