加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

dojo中出现的一个比较诡异的问题:继承中成员变量出现公用的问题

发布时间:2020-12-16 21:54:28 所属栏目:百科 来源:网络整理
导读:编写自己的组件时定义了这样一个成员变量: contents:[], 这样的意思我认为应该是:为每个对象创建一个contents变量,这个变量是一个空数组。 但当我创建多个这个类型的组件时,却发现,这多个组件竟然公用着一个contents。就像是java的静态方法或者是直接调

编写自己的组件时定义了这样一个成员变量:

contents:[],

这样的意思我认为应该是:为每个对象创建一个contents变量,这个变量是一个空数组。

但当我创建多个这个类型的组件时,却发现,这多个组件竟然公用着一个contents。就像是java的静态方法或者是直接调用了prototype的contents。(我在创建组件时没有对改变量做任何操作)

这应该是dojo继承机制的问题或者是由于contents是一个数组类型的变量,是传址类型的缘故吧。

最后改成了:contents:null.并在初始化的时候创建:contents=[];这样就没问题了。

至于到底是什么原因,还需要看过源代码后再说吧,估计第二种可能性比较大一些。

写在这里,希望自己不会再犯类似的错误

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读