Action Script 3 中变量,引用,对象

ActionScript 3 中变量持有引用,指向要操作的对像。但和JAVA 不一样的是ActionScript 3的变量本身是不能持有值的。AS3中值类型的变量持有的是指向值类型的引用,引用类型的变量指向的是引用类型的引用。不同的是,值类型的数据是一种不变对象

 

既然,都是引用,为何表现出的行为会不一样呢?

原来,在AS3中,值类型数据的引用是一种叫做不变对象(immutable object).这种对象一旦被创建就不能被改变。一旦AVM发现一个不变对象的引用要改变这个不变对象的值,AVM(AS虚拟机)就会创建一个新的不变对象来接受新值。

                                             |

                                              |也就是说在不改变时,如果两个有相同值的植类型数据它们的引用对象是同一个,

                                               |这样,就可以在一些情况下大大节省内存了。

 

EG:

  var a:int = 1;

  a = a +1;

 

这个过程就有两个变对象创建。最终a 的引用和a最初的引用是两个不同的对象了。

 

不变对象的设计优点 : 1. 提高执行效率。  ps:这个问题上不是很懂!!!

                               2.节省内存空间。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值