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