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

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

contents:[],

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

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

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

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

 

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值