本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2004-12-09 · 原址 http://www2.flash8.net/teach/1996_7.htm ← Flash 保存计划
 
2.7 数据克隆:我是谁?
作者:ox_thedarkness  来源:闪吧
时间: 2004年8月30  类型: 原创  
收藏 发送 评论 <%=votevote%>打印 字体选择:   
 第1页 谈谈Flash的一些语法基础和系统核心
 第2页 2 变量:体验flash BT级的灵活性
 第3页 2.2 变量的数值计算
 第4页 2.3 object :引用 — 一个幽灵
 第5页 2.4 自定义类,以及覆盖接口toString方法
 第6页 2.5 访问类的成员
 第7页 2.6 Array:多种数据结构的集合
 第8页 2.7 数据克隆:我是谁?
 第9页 2.8 对函数变量的引用
 第10页 2.9 Object.watch() 方法:监视变量

参与本文讨论:闪吧本文讨论帖
有一个重要问题就是,对一个对象有多个引用,那么,变量到底引用的是谁?
在后面我们要介绍的克隆方法出现之后,如何判断谁是对象的克隆,谁是原来的变量? 你看,如果我们设计一个简单的迭代方法来实现克隆: 1 如果对象是简单变量,克隆他到对应位置。
2 如果对象是object,那么对应位置建立一个新的空object,并且访问原object回到1。
3 如果本级的目标访问完了,那么回到上一级。 看起来很正常,但是如果对象有自引用呢?
a= {};
a.a = a;
上面的逻辑就会无限的循环下去。 解决的关键很简单。
if(a == b) 那么a和b是同一个对象的引用,而克隆的东西则会返回false。 对于上面的问题来说,就是:啊啊……麻烦阿……我们需要建立一个“引用过的引用”的栈来避免走到无限循环迷宫里去
 1 ┋  2 ┋  3 ┋  4 ┋  5 ┋  6 ┋  7 ┋  8 ┋  9 ┋  10 ┋ 
责任编辑:uufeng
上一篇: "AI特工"的一些分镜草图和原画 下一篇: 在文本框中加入背景图片
 

没有相关教材