Flash 板


LINE

嗯...忽然想要来po这篇文 因为之前开研讨会的时候,我发现大家好像这个部份问题颇多 希望可以藉此帮助观念不清楚的人澄清一下~ :) -------------------以下为前言,不想看可以直接跳过------------------- Flash跟Java一样 在传递变数的时候不像C++有分所谓的 pass-by-reference 和 pass-by-value 这两者个差异就在於用 等号(=) 来把右方的值丢给左方的时候 前者是把右方"记忆体上的所在位址"给左方,没有产生新的变数 像是C++里面的 int &y = x 就等於是说 "y is a nick name of x" 两者在记忆体上的资料代表的是同一块,只是名字不一样而已 至於後者就是把等号右边的值复制之後,丢给左边的变数 所以 int y = x 代表在记忆体上面x和y分别占了两块区域 并且资料内容互不相干 Flash和Java都是 纯pass-by-value 只要弄懂AS在背後到底在玩什麽把戏,就不用像C++为reference而烦恼 ------------------------------本文开始------------------------------- AS的变数可以如下分为两类: 1.Primitive datatype - Boolean, Number, String 这三者都是在记忆体上面直接纪录下自己的"值" 像是 var i:Number = 1; 就会在一区记忆体存入 1 这个值 var s:String = "abc"; 则在一区连续存入 "a", "b", "c" 2.Class datatype - 除了上述三种class以外的其他所有class 这些变数都会在记忆体上用到"两区" 一区就是该class的物件 另外一区则是该物件在记忆体的所在"位址" 简单来说,var i:Object = new Object(); new 这个关键字就代表在记忆体上生出一个Object物件 然後会回传该 Object 物件在记忆体上的位址给等号(=)的左边 等於i这个变数身上所装的值仅是一个 Object 物件的"地址" ※要注意的是,变数 i 并不是物件 它所代表的值才是该物件在记忆体上的所在位置 既然AS是纯 pass-by-value 如果又有一行 var j:Object = i; 这样只是把 i 身上的 "地址" 也给了 j 所以 "i 和 j 其实是代表同一个物件的" 来讲个单的范例吧: var x:Number = 1; var y:Number = x; x++, y++; trace(x + ", " + y); //得到的结果是 "2, 2" var u:Object = new Object(); var v:Object = u; u.num = 1; v.num = 1; u.num++, v.num++; trace(u.num + ", " +v.num); //得到的结果是 "3, 3" 为什麽後者的 u.num 和 v.num 都是3? 不是明明都只各自递增了一次吗? 因为u和v身上所装的 Object 物件地址其实是同一个 Object 物件的 所以修改到的 num 这个property其实是属於同一个 Object 物件 大致上就是这样... 希望可以帮 对这部分不清楚的人 有所澄清 -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凯特 = 蜚蠊猫 = 蟑螂猫 Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比闪光(Adobe Flash)研讨区 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.228.89.126 ※ 编辑: cjcat2266 来自: 61.228.89.126 (10/05 01:17)
1F:推 liveinlow:推荐这篇文章 :) 10/05 19:31
2F:推 kazenol:有研讨会真好 10/07 18:46







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP