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 type | Default 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 เก็บค่าตัวอักษร