JavaScript เป็นหนึ่งในภาษาการเขียนโปรแกรมที่ได้รับความนิยมมากที่สุดในปัจจุบัน แต่ความนิยมก็เป็นผลข้างเคียงของลักษณะของภาษาเอง ไม่ว่าจะเป็นภาษาที่ยอดเยี่ยมเพียงใดโปรแกรมเมอร์หลายพันคนก็ยังคงทำข้อบกพร่องมากมายทุกวัน อย่าหัวเราะเยาะคนอื่นตอนนี้บางทีคุณอาจเป็นหนึ่งในนั้น
นี่คือตัวอย่าง JS สั้น ๆ ที่ถูกต้องอย่างเต็มที่ (คุณสามารถทดลองกับสิ่งนี้บนคอนโซลของคุณ):
การคัดลอกรหัสมีดังนี้:
typeof nan === 'number' // true
Infinity === 1/0 // true
0.1 + 0.2 === 0.3 // FALSE นั้นเป็นจริงสำหรับวงเล็บนำหน้า
"3" + 1 // '31'
"3" - 1 // 2
คุณยังเชื่อในจาวาสคริปต์ของคุณหรือไม่?
1. ค่าต่ำสุดของ JS
การคัดลอกรหัสมีดังนี้:
number.min_value> 0; //จริง
number.min_value ใช้สำหรับค่าต่ำสุดที่ JavaScript สามารถแสดงได้ซึ่งเป็น 5E-324 แต่เป็นจำนวนที่ใกล้เคียงที่สุดใน JS ถึง 0
2. การเชื่อมต่อสตริง
การคัดลอกรหัสมีดังนี้:
("foo" + + "bar") === "foonan" // true
"ทำไมฉันถึง" + typeof + "" // ทำไมฉันถึงเป็นหมายเลข
JS แยกวิเคราะห์เป็น "foo" + ( + "bar") ซึ่งจะแปลง "bar" เป็นตัวเลข
3. ฟังก์ชัน Parseint
การคัดลอกรหัสมีดังนี้:
Parseint ('06 '); // 6
Parseint ('08 '); // 0 โปรดทราบว่าเวอร์ชันใหม่ของ Google ได้รับการแก้ไขแล้ว
Parseint (Null, 24) === 23 // true
4. เป็นวัตถุว่างหรือไม่?
การคัดลอกรหัสมีดังนี้:
typeof null // วัตถุ
null อินสแตนซ์ของวัตถุ // false
5. ส่งคืนกลับสู่เนื้อหา
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่น myjson ()
-
กลับ
-
2
-
-
myjson (); // ไม่ได้กำหนด
เนื้อหาที่ส่งคืนโดยการส่งคืนจะต้องอยู่ในบรรทัดเดียวกับผลตอบแทน
6. ตัวเลขแปลก ๆ
การคัดลอกรหัสมีดังนี้:
012 == 12 // เท็จ
'012' == 12 // จริง
"3" + 1 // '31'
"3" - 1 // 2
0.1 + 0.2 == 0.3 // false
0.1 + 0.7 == 0.8 // false
0.2 + 0.7 == 0.9 // false
99999999999999999 // 1000000000000000000
999999999999999999-1 // 1000000000000000000
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112
7. พารามิเตอร์แปลก ๆ
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่นสวัสดี (อะไร) {
การแจ้งเตือน (อาร์กิวเมนต์ [0]); // Vicky
อะไร = "โลก";
กลับ "สวัสดี" + อาร์กิวเมนต์ [0] + "!";
-
สวัสดี ("Vicky"); // "สวัสดีโลก!"
8. สัญญาณที่เท่าเทียมกันที่ทำให้คนสูญเสียหัว
การคัดลอกรหัสมีดังนี้:
Nan === Nan; // เท็จ
[] == FALSE; // จริง
"" == FALSE; // จริง
null == false; // เท็จ
[] ==! [] // true
window.window == window // true
window.window === หน้าต่าง // เท็จเบราว์เซอร์บางตัวเป็นจริง
window == document // true บางเบราว์เซอร์เป็นเท็จ
("0" && {}) == 0 // false
(0 && {}) == 0 // true
0 == "0" // จริง
[] == 0 // true