มาต่อกันเรื่องของตัวแปรใน Javascript กันน่ะครับ
• การตั้งชื่อตัวแปร
ตัวแปรในภาษา javascript จะมองเป็นแบบ case-sensitive ก็คือ ตัวอักษรเล็กและตัวอักษรใหญ่เครื่องจะมองต่างกัน เช่น Row กับ row จะถูกมองว่าเป็นตัวแปรคนละตัวกัน และกฏของการตั้งชื่อตัวแปรสามารถสรุปได้ดังนี้
-สามารถขึ้นต้นด้วยตัวอักษรใหญ่ได้ (A-Z) เช่น ROW,Row
-สามารถขึ้นต้นด้วยตัวอักษรเล็กได้(a-z) เช่น rOW,row
-สามารถขึ้นต้นด้วยอันเดอร์สกรอได้(_) เช่น _ROW,_row
-ไม่สามารถขึ้นต้นได้ด้วยตัวเลข ตัวอย่างที่ไม่สามารถตั้งได้เช่น 12Bn,1sx
-ไม่สามารถตั้งชื่อตัวแปรที่เหมือนคำสงวนได้เช่น if else while เป็นต้น
• ชนิดของตัวแปร
Integer คือ เลขจำนวนเต็ม
Floating-point numbers คือ เลขจำนวนจริง
Logic or boolean values คือ ตรรก(มีค่าแค่ถูกกับผิด)
String คือ ข้อความ
• Floating และ Integer
ในภาษา Javascript นั้นสามารถแปลงค่าจาก Interger ไปเป็น Floating หรือ Floating ไปเป็น Integer ได้โยอัติโนมัติ
ตัวแปร Integer ใน JavaScript จะอยู่ในรูปของเลขฐานได้ 3 ฐาน คือ 8 ,10 และ 16
ฐาน 10 โดยปกติแล้วตัวเลขที่ใช้ใน JavaScript จะเป็นเลขฐาน 10 อยู่แล้ว
ฐาน 8 จะมีเลขโดดอยู่แค่ 8 ตัว คือ 0-7 การเขียนเลขฐาน 8 จะใช้ 0 นำหน้า เช่น 0124,0317
ฐาน 16 จะมีเลขโดดอยู่ 16 ตัว คือ 0-9 และใช้ A-F แทน 10 - 15 การเขียนเลขฐาน 16 จะใช้ 0x นำหน้า เช่น 0x31F,0xFA2
ส่วน Floating จะใช้กับเลขทศนิยมหรือเลขที่มีค่ามากๆและน้อยมากๆจนต้องเขียนในรูปของเลขยกกำลัง เช่น
-4.2132
55.
12e2 (อ่านว่า 12 คูณ 10 ยกกำลัง 2) มีค่าเท่ากับ 1200
1e-1 (อ่านว่า 1 คูณ 10 ยกกำลัง -1) มีค่าเท่ากับ 0.1
• ตัวแปรชนิดตรรก : Logical Values
ตัวแปรชนิดตรรก คือ ตัวแปรที่บอกค่าความจริงมี 2 ตัวคือ
1.True สามารถแทนค่าได้ด้วย เลข 1
1.False สามารถแทนค่าได้ด้วย เลข 0
ตัวอย่างโปรแกรมที่แสดงให้เห็นว่าตัวแปรทั้งสองสามารถแทนด้วยเลข 0 และ 1
Quote:
<html>
<head>
<title>Conversation of logical values to numeric values</title>
</head>
<body>
<script language="JavaScript">
<!--
document.write("true*23 + false *99 = ");
document.write(true*23 + false *99);
// -->
</script>
</body>
</html>
[/b]
ผลที่ได้จากการรันโปรแกรมนี้คือ true*23 + false*99 = 23
เนื่องจากสมการนี้มีค่าเท่ากับ 1*23 + 0*99 = 23 ชัวร์ครับ
• ตัวแปรชนิดข้อความ : String
การที่จะทำให้ Javascript รู้จักตัวแปร String ก็คือการใส่ " หรือ ' คร่อมข้อความนั้นๆเช่น "My name is Nut"
ตัวอย่างโปรแกรมเกี่ยวกับ String เช่น
Quote:
<html>
<head><title>Using quote within string</title></head>
<body>
<script language="JavaScript">
<!--
nut="He said, \"My name is Jim!\"
";
document.write(nut);
//-->
</script>
</body>
</html>
[/b]
จากตัวอย่าง เป็นการกำหนดตัวแปรที่ชื่อ nut ให้แทนข้อความ He said,"My name is Jim" และ ขึ้นบรรทัดใหม่ด้วยคำสั่ง
การที่เราจะเขียนเครื่องหมาย " หรืออีกขระพิเศษตัวอื่นๆ เราจะต้องใส่ \ ไว้นำหน้าอักขระพิเศษนั้นๆด้วยน่ะครับ
บรรทัดต่อมาก็จะสั่งให้เขียนคำที่เก็ไว้ในตัวแปรที่ชื่อ nut ออกมา นั่นเอง
ผลที่ได้ก็คือการสั่งให้เว็บเพจเขียนคำว่า He said,"My name is Jim" นั่นเอง
นอกจากนนี้Javascriptยังมีสัญลักษณ์พิเศษอีก 2 ตัวคือ
1. \n แทนด้วยการขึ้นบรรทัดใหม่เช่นเดียวกับ
นั่นเอง
2. \t แทนการ tab นั่นเอง
• Function เปลี่ยนชนิดตัวแปร
JavaScript สามารถแปรงร่างให้ตัวแปรได้จริงไหมครับ ถ้าผมมีเลขสักตัว มันก็จะแปลี่ยนเป็น String ได้ ถ้าผมเอาไป + กับข้อความ แต่จากตารางที่แล้ว จะเห็นได้ว่า string "12.34" ซึ่งเป็นข้อความที่เป็นตัวเลข ไม่สามารถแปลงร่าง เป็นตัวเลขได้เลย เพราะ JavaScript เดาใจเราไม่ถูกว่าเมื่อไรที่จะให้มัน เป็น Float หรือ String ดังนั้นเราจึงต้องมี Function ในการแปลงครับ
JavaScript กำหนด Function มาให้ 3 ตัวครับคือ eval(),parseInt(), และ parseFloat()
eval() จะใช้ในการเปลี่ยน String ที่อยู่ในรูปสมการให้เป็นค่าของผลลัพธ์เช่น total=eval("432.1*10") Total ก็จะมีค่าเป็น 4321 และถ้าค่าของข้อความ เป็นค่าที่ไม่สามารถแปลงได้ เช่น testxyz eval() จะไม่ส่งใดใดค่ากลับมา ดังนั้น เราจะใช้ eval() ได้ก็ต้องแน่ใจว่าข้อมูลที่จะป้อนเข้า eval() จะไม่มีข้อมูลที่ทำให้เกิด error อยู่
parseInt() จะใช้เปลี่ยนข้อความเป็นเลขจำนวนเต็มแต่ไม่เหมือนกับ eval() ตรงที่ มันจะแปลงให้เฉพาะตัวเลขที่อยู่หน้าสุดของข้อมูลและไม่สนใจข้อมูลแปลกปลอมเลย เช่น parseInt("123xyz") ก็จะให้ค่าเป็น 123 และ parseInt("xyz") ก็จะให้ค่าเป็น 0
parseFloat() คล้ายๆ parseInt() ครับ แต่จะใช้กีบเลขที่เป็น Float
เหมือนเดิมครับ ดูจากตัวอย่างเพื่อง่ายต่อการเข้าใจครับ
Quote:
<HTML>
<HEAD>
<TITLE>Using Explicit Conversion Functions</TITLE>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!--
document.write('eval("12.34x10") = ');
document.write(eval("12.34x10"));
document.write("
");
document.write('parseInt("0x10") = ');
document.write(parseInt("0x10"));
document.write("
");
document.write('parseFloat("5.4321e6") = ');
document.write(parseFloat("5.4321e6"));
// -->
</SCRIPT>
</BODY>
</HTML>
[/b]
ผลที่ได้จากการรันไฟล์นี้คือจะมีการเขียนออกทางหน้าจอว่า
12.34x10 = 123.4
0x10 = 0
5.4321e6 = 5432100
• Array
อาเรย์ คือ ตัวแปรชนิดเดียวกันที่มีหลายค่าเช่น การที่เรามีชื่อพนักงาน 3 คนก็สามารถเก็บไว้เป็น Array ได้ เช่น
Quote:
<HTML>
<HEAD>
<TITLE>Using Arrays</TITLE>
</HEAD>
<BODY>
<H1 ALIGN="CENTER">Using Arrays</H1>
<script LANGUAGE="JavaScript"><!--
employee = new Array(3)
employee[0] = "Squall";
employee[1] = "Rinoa";
employee[2] = "Zell";
document.write(employee[0]+"
");
document.write(employee[1]+"
");
document.write(employee[2]);
// -->
</SCRIPT>
</BODY>
</HTML>
[/b]
จากโค้ดนี่เราจะกำหนดให้มีตัวแปรที่ชื่อ enployee โดยกำหนดเป็นตัวกแปรอาเรย์ 3 ที่โดยกำหนดที่ employee = new Array(3)
employee[0] = "Squall";
employee[1] = "Rinoa";
employee[2] = "Zell";
จาก 3 บรรทัดนี้คือการกำหนดค่าให้กับอาเรย์แต่ละตัว
และผลจากการรันโค้ดนี้ก็คือ จะมีการสั่งเขียนออกทางหน้าจอว่า
Squall
Rinoa
Zell
นอกจากนี้เรายังสามาถรกำหนดค่าให้อาเรย์ได้อีกวิธีคือ
employee = new Array('Squall','Rinoa','Zell')