actionscript3.0圖層代碼執行順序細節討論

actionscript3代碼執行順序新發現

圖層1定義代碼:
var i:Number=1;
trace("該圖層爲圖層1");
trace("圖層1變量i的值爲:"+i);
trace("圖層2變量j的值爲:"+j);

圖層2定義代碼:
var j:Number=2;
//i=2;
trace("該圖層爲圖層2");
trace("圖層1的變量i的值爲:"+i);
trace("圖層2的變量j的值爲:"+j);

輸出:
該圖層爲圖層2
圖層1的變量i的值爲:NaN
圖層2的變量j的值爲:2
該圖層爲圖層1
圖層1變量i的值爲:1
圖層2變量j的值爲:2

代碼執行順序是從上面圖層到下面圖層,但是改成
將//i=2;註釋去掉
輸出爲:
該圖層爲圖層2
圖層1的變量i的值爲:2
圖層2的變量j的值爲:2
該圖層爲圖層1
圖層1變量i的值爲:1
圖層2變量j的值爲:2

如果改爲w=3;訪問w就出現w未定義錯誤

說明圖層2已經識別圖層1中的i變量的定義,只是不能獲取圖層1變量的值,充分說明是從上到下執行的,但如果將i複製的話便可訪問
由此說明從上到下只是變量值不能獲取,但可識別該變量i

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章