ActionScript 3.0 [2] : การประกาศตัวแปร




หลังจากที่ได้เขียนบทความก่อนหน้าไปให้ดูบ้างแล้ว ตอนนี้จะมาปูพื้นฐานเกี่ยวกับการประกาศตัวแปรของ ActionScript 3.0 ซึ่งเป็นพื้นฐานการเขียนสคริปต์ดำเนินงานกับชิ้นงาน Flash ก่อนอื่นก็ให้ศึกษาตัวอย่างนี้ก่อน ActionScript 3.0 : เริ่มต้นเขียนโปรแกรมแบบง่ายๆ ว่าเราจะทำอย่างไรจึงจะโค้ดลงใน Flash ได้

ตัวแปร คือ สิ่งที่ใช้เก็บค่าในทางคอมพิวเตอร์เพื่อใช้ในประมวลผลคำสั่ง หลังจากประกาศตัวแปรแล้วพื้นที่หน่วยความจำของคอมพิวเตอร์จะถูกจอง เพื่อรอการเก็บค่า ลองเปิดหน้าต่าง Actions ของโปรแกรม Flash CS 6 ขึ้นมาเพื่อทำตามคำอธิบายประกอบไปด้วยจะดีมาก


การประกาศตัวแปร


var i;


อธิบาย : โค้ดข้างต้นเป็นการบอกกับโปรแกรม Flash ว่าเราได้สร้างตัวแปร i ชนิด integer ขึ้นมา

ลองพิมพ์โค้ดต่อไปนี้ลงไปในหน้าต่าง Actions


i; // error if i was not previously defined


จะพบว่ามี Error เกิดขึ้นในแท็บ Output เพราะเราไม่ได้ใส่ var ไว้นำหน้าตามรูปแบบการประกาศตัวแปร
การกำหนดค่าให้กับตัวแปร


var i:int; 
i = 20;
trace("value : " + i);


เมื่อพิมพ์เสร็จแล้วลองกด Ctrl + Enter เพื่อรันโปรแกรม Flash
อธิบาย : กำหนดค่า 20 ให้กับตัวแปร i

เราสามารถประกาศตัวแปรอีกรูปแบบหนึ่งได้อีกตามโค้ดด้านล่าง


var i:int = 20;


ให้ผลเหมือนกัน

ขอบเขตของตัวแปร



var strGlobal:String = "Global"; 
function scopeTest() 
{ 
    trace(strGlobal); // Global 
} 
scopeTest(); 
trace(strGlobal); // Global



อธิบาย : ตัวแปร strGlobal ถูกประกาศอยู่ด้านนอกสุดไม่ได้อยู่ในเครื่องหมายบล็อค { } ใดๆ ซึ่งเป็นตัวแปรแบบ Global ทำให้ฟังก์ชั่น scopeTest ซึ่งมีเครื่องหมายบล็อค { } เรียกใช้งานตัวแปร strGlobal ได้ด้วย ส่วน trace(strGlobal); บรรทัดล่างสุดเป็นการเรียกใช้งานตัวแปร strGlobal จากพื้นที่ Global ด้วยกัน

ทดลองรันโค้ดต่อไปนี้

function localScope() 
{ 
    var strLocal:String = "local"; 
} 
localScope(); 
trace(strLocal); // error because strLocal is not defined globally

จะพบว่ามี Error เกิดขึ้น เพราะตัวแปร strLocal ทำงานแค่ภายในขอบเขตเครื่องหมาย { } เท่านั้น เป็นตัวแปรแบบ Local

ลำดับการทำงานของตัวแปร
รันโค้ดต่อไปนี้


trace(num); // NaN 
var num:Number = 10; 
trace(num); // 10


อธิบาย :
ตัวแปร num บรรทัดแรกเป็นตัวแปรที่ Flash ยังไม่รู้จักและถูกกำหนดค่าเป็น NaN ปกติจะไม่ใช้ค่านี้
บรรทัดที่ 2 ประกาศตัวแปร num และกำหนดค่าเป็น 10
บรรทัดที่ 3 แสดงผลค่า num เป็น 10 ในแท็บ Output

ตัวแปรและค่าเริ่มต้น
Data typeDefault value
Boolean
false
int
0
Number
NaN
Object
null
String
null
uint
0
Not declared (equivalent to type annotation )
undefined
All other classes, including user-defined classes.
null

Boolean มีค่าเริ่มต้นเป็น false
int มีค่าเริ่มต้นเป็น 0
Number มีค่าเริ่มต้นเป็น NaN
Object มีค่าเริ่มต้นเป็น null หรือค่าว่าง
String มีค่าเริ่มต้นเป็น null หรือ ค่าว่าง
uint มีค่าเริ่มต้นเป็น 0
ตัวแปที่ยังไม่ได้ถูกประกาศ มีค่าเริ่มต้นเป็น undefined
คลาสของ AS3 ทั้งหมด มีค่าเริ่มต้นเป็น null หรือ ค่าว่าง

ตัวแปรที่ใช้บ่อยใน ActionScript 3.0

ชนิดตัวแปร Boolean เก็บได้เพียง 2 ค่า คือ true และ false ใช้สำหรับเก็บค่าทางตรรกะศาสตร์
ชนิดตัวแปร int เก็บตัวเลขจำนวนเต็มตั้งแต่ -2,147,483 ถึง 2,147,483,647
ชนิดตัวแปร Number เก็บค่าตัวเลขที่เป็นทศนิยม
ชนิดตัวแปร String เก็บค่าตัวอักษร


โพสต์ยอดนิยมจากบล็อกนี้

ActionScript 3.0 [1] : เริ่มต้นเขียนโปรแกรมง่ายๆ

ActionScript 3.0[3] : การตั้งชื่อตัวแปร

ActionScript 3.0 ตอนที่ 1 สั่งให้เคลื่อน symbol อย่างง่าย