2.1 ตัวแปรและความเจ็บปวด
เริ่มจากสิ่งที่น่าสนใจที่สุดกันก่อน JavaScript มีตัวแปร แต่ตัวแปรเหล่านั้นไม่มีประเภท ตัวแปรใด ๆ สามารถกำหนดค่าใด ๆ ก็ได้ ดูไม่มีพิษมีภัยหรือแม้แต่สะดวกจนกว่าคุณจะต้องการประเภท
คำสำคัญที่ใช้ในการประกาศตัวแปรvar
:
var name;
var name = value;
ตัวอย่างการทำงานกับตัวแปรใน JavaScript:
var a = 10, b = 20;
var c = a*a + b*b;
var s = "Diagonal equals:";
console.log( s + Math.sqrt(c));
รหัสที่ดีและชัดเจนใช่ไหม บางทีนี่อาจเป็นครั้งสุดท้ายในชีวิตของคุณเมื่อคุณเห็นโค้ด JavaScript ที่สวยงามและเข้าใจได้ จดจำช่วงเวลานี้ :)
2.2 การพิมพ์ใน JavaScript
ดังที่กล่าวไว้ข้างต้น ตัวแปรในภาษา JavaScript ไม่มีประเภท แต่ค่าของตัวแปรมีประเภท นี่คือ 5 ประเภทที่พบบ่อยที่สุดใน JavaScript:
# | พิมพ์ | ตัวอย่าง | คำอธิบาย |
---|---|---|---|
1 | ตัวเลข |
|
ประกอบด้วยตัวเลขใดๆ |
2 | สตริง |
|
ประกอบด้วยสตริง |
3 | บูลีน |
|
ประกอบด้วยจริงหรือเท็จ |
4 | อาร์เรย์ |
|
ประกอบด้วยอาร์เรย์ขององค์ประกอบ |
5 | วันที่ |
|
ประกอบด้วยวันที่ |
6 | วัตถุ |
|
มีวัตถุที่ประกอบด้วยคู่ของคีย์และค่า สิ่งที่คล้ายกับ HashMap ใน Java |
7 | การทำงาน |
|
การทำงาน |
คีย์เวิร์ด typeof ใช้เพื่อกำหนดประเภทของออบเจกต์ เช่น
var s = "134";
var x = (typeof s == "String") ? s*1 : s;
2.3 ฟังก์ชันและผลตอบแทน
และแน่นอนว่า JavaScript มีฟังก์ชัน ไม่มีคลาส ดังนั้นจึงสามารถประกาศฟังก์ชันได้ทุกที่ในโค้ด แม้แต่ในหน้าที่อื่นๆ รูปแบบทั่วไปคือ:
function name(a, b, c) {
// function code
return result;
}
ฟังก์ชันไม่มีประเภท เหตุใดจึงไม่มีการควบคุมความเข้ากันได้ของประเภทในภาษาเอง พารามิเตอร์ของฟังก์ชันอาจหายไปด้วย เช่นเดียวกับคำสั่ง return ซึ่งจะส่งคืนค่า
เมื่อเรียกใช้ฟังก์ชัน คุณสามารถส่งพารามิเตอร์ประเภทใดก็ได้จำนวนเท่าใดก็ได้ ส่วนเกินจะถูกทิ้งส่วนที่หายไปจะเท่าnull
กัน
ตัวอย่างฟังก์ชัน:
function getValue(name)
{
return this[name];
}
function setValue(name, value)
{
this[name] = value;
}
2.4 อาร์เรย์ใน JavaScript
อาร์เรย์ใน JavaScript มีความคล้ายคลึงกับอาร์เรย์ใน Java ตัวอย่าง:
var array = [1, 2, 3, 4, 5];
array[3] = array[2];
console.log (array[0]);
พวกเขาสามารถมีค่าประเภทใดก็ได้แม้กระทั่งอาร์เรย์อื่น ๆ :
var array = [1, "Hello", 3.14, [4, 5] ];
array[3] = array[2];
console.log (array[0]);
นอกจากนี้ อาร์เรย์ยังทำงานเหมือนคอลเลกชัน คุณสามารถเพิ่มองค์ประกอบแบบไดนามิกได้:
var array = [];
array.push(100);
array.push(101);
array.push(102);
array[1] = array[2];
console.log (array[0]);
2.5 วัตถุใน JavaScript
ออบเจกต์ใน JavaScript นั้นคล้ายกับ HashMap ใน Java มาก โดยจะมีคู่ของคีย์-ค่า ตัวอย่าง:
var obj = {
name: "Bill Gates",
age: 67,
company: "Microsoft"
};
console.log (obj.age);
ฟิลด์วัตถุสามารถเข้าถึงได้สองวิธี:
var x = obj.age;
var x = obj["age"];
เช่นเดียวกับ HashMap ฟิลด์สามารถสร้างและลบได้ ตัวอย่าง:
var obj = {};
obj.name = "Bill Gates";
obj.age = 67;
obj.company = "Microsoft";
delete obj.age; //remove field
GO TO FULL VERSION