Flash中簡(jiǎn)單數(shù)據(jù)類型與復(fù)雜數(shù)據(jù)類型的區(qū)別
在Flash編程中,我們經(jīng)常會(huì)用到簡(jiǎn)單數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型的變量。那么,它們之間有什么區(qū)別呢?本文將帶你深入探究簡(jiǎn)單數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型變量的最大區(qū)別。創(chuàng)建Flash文件并添加動(dòng)作首先,打開Fla
在Flash編程中,我們經(jīng)常會(huì)用到簡(jiǎn)單數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型的變量。那么,它們之間有什么區(qū)別呢?本文將帶你深入探究簡(jiǎn)單數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型變量的最大區(qū)別。
創(chuàng)建Flash文件并添加動(dòng)作
首先,打開Flash文件,并選擇“ActionScript 3.0”來(lái)新建一個(gè)空白文檔。接下來(lái),在時(shí)間軸的第一幀上右擊,選擇“動(dòng)作”選項(xiàng)來(lái)添加動(dòng)作。
創(chuàng)建復(fù)雜數(shù)據(jù)類型的動(dòng)態(tài)文本對(duì)象
我們首先需要?jiǎng)?chuàng)建兩個(gè)復(fù)雜數(shù)據(jù)類型的動(dòng)態(tài)文本對(duì)象,可以使用以下代碼:
```as3
var p1_txt:TextField new TextField();
var p2_txt:TextField new TextField();
```
這段代碼將創(chuàng)建兩個(gè)動(dòng)態(tài)文本對(duì)象p1_txt和p2_txt。
給動(dòng)態(tài)文本對(duì)象賦值
為了測(cè)試兩個(gè)對(duì)象是否相同,我們需要給兩個(gè)動(dòng)態(tài)文本對(duì)象的text屬性賦予相同的字符串值,比如"靜夜思"。代碼如下:
```as3
p1_txt.text "靜夜思";
p2_txt.text "靜夜思";
```
對(duì)比兩個(gè)對(duì)象的屬性值
為了測(cè)試兩個(gè)對(duì)象是否相同以及它們的屬性值是否相同,我們可以使用trace命令。在“動(dòng)作”面板中添加以下代碼:
```as3
trace(p1_txt p2_txt); // 輸出false
trace(p1_txt.text p2_txt.text); // 輸出true
```
運(yùn)行程序并觀察結(jié)果
現(xiàn)在我們可以運(yùn)行程序并觀察結(jié)果。我們會(huì)發(fā)現(xiàn),盡管兩個(gè)對(duì)象的屬性值相同,但它們卻不相同。
這是因?yàn)閜1_txt和p2_txt是復(fù)雜數(shù)據(jù)類型的變量,它們只是用來(lái)引用復(fù)雜數(shù)據(jù)的。換句話說(shuō),p1_txt和p2_txt分別指向兩個(gè)不同的對(duì)象。即使這兩個(gè)對(duì)象的屬性值一樣,但它們實(shí)際上是兩個(gè)不同的對(duì)象,所以它們不相同。
簡(jiǎn)單數(shù)據(jù)類型與復(fù)雜數(shù)據(jù)類型的區(qū)別
與復(fù)雜數(shù)據(jù)類型不同,簡(jiǎn)單數(shù)據(jù)類型的變量直接存儲(chǔ)在存儲(chǔ)空間中。當(dāng)比較兩個(gè)簡(jiǎn)單數(shù)據(jù)類型的變量時(shí),比較的是它們的值。因此,如果兩個(gè)文本屬性的值都是"靜夜思",那么這兩個(gè)變量就是相等的。
最大的區(qū)別在于,定義一個(gè)簡(jiǎn)單數(shù)據(jù)類型變量時(shí),會(huì)獲得一個(gè)存儲(chǔ)該變量所需的空間。而定義一個(gè)復(fù)雜數(shù)據(jù)類型的變量時(shí),只會(huì)獲得一個(gè)引用所需的空間。
通過(guò)深入了解Flash中簡(jiǎn)單數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型的區(qū)別,我們可以更好地理解和應(yīng)用它們?cè)诰幊讨械奶匦院褪褂梅椒ā?/p>