Latest web development tutorials
×

JavaScript หลักสูตร

JavaScript หลักสูตร JavaScript แนะนำโดยย่อ JavaScript การใช้ JavaScript ส่งออก JavaScript ไวยากรณ์ JavaScript งบ JavaScript หมายเหตุ JavaScript ตัวแปร JavaScript ชนิดข้อมูล JavaScript วัตถุ JavaScript ฟังก์ชัน JavaScript ขอบเขต JavaScript เหตุการณ์ JavaScript เชือก JavaScript ผู้ประกอบการ JavaScript เปรียบเทียบ JavaScript If...Else JavaScript switch JavaScript for JavaScript while JavaScript Break & Continue JavaScript typeof JavaScript ประเภทการแปลง JavaScript นิพจน์ปกติ JavaScript ความผิดพลาด JavaScript แก้จุดบกพร่อง JavaScript ยกตัวแปร JavaScript โหมดที่เข้มงวด JavaScript ใช้ไม่เหมาะสม JavaScript รูปแบบการตรวจสอบสิทธิ์ JavaScript ลิขสิทธิ์คำสำคัญ JavaScript JSON JavaScript void JavaScript ข้อมูลจำเพาะรหัส

JS ฟังก์ชัน

JavaScript นิยามฟังก์ชัน JavaScript อาร์กิวเมนต์ของฟังก์ชัน JavaScript เรียกใช้ฟังก์ชัน JavaScript การปิด

JS HTML DOM

DOM แนะนำโดยย่อ DOM HTML DOM CSS DOM เหตุการณ์ DOM EventListener DOM ธาตุ

JS การสอนที่ทันสมัย

JavaScript วัตถุ JavaScript Number JavaScript String JavaScript Date JavaScript Array JavaScript Boolean JavaScript Math JavaScript RegExp วัตถุ

JS เบราว์เซอร์ BOM

JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript ป๊อป JavaScript เหตุการณ์หมดเวลา JavaScript Cookies

JS โกดัง

JavaScript โกดัง JavaScript ทดสอบ jQuery JavaScript ทดสอบ Prototype

JS ตัวอย่าง

JavaScript ตัวอย่าง JavaScript ตัวอย่างวัตถุ JavaScript วัตถุเช่นเบราว์เซอร์ JavaScript HTML DOM ตัวอย่าง JavaScript ย่อ

JS คู่มืออ้างอิง

JavaScript วัตถุ HTML DOM วัตถุ

การใช้งานที่ไม่เหมาะสมของ JavaScript

บทนี้เราจะหารือเกี่ยวกับการใช้งานของข้อผิดพลาดจาวาสคริปต์


การประยุกต์ใช้ตัวดำเนินการกำหนดข้อผิดพลาด

ในโปรแกรม JavaScript ถ้าคุณใช้คำสั่งเงื่อนไขถ้าผู้ประกอบการที่ได้รับมอบหมายเป็นสัญญาณเท่ากับ (=) จะสร้างผลผิดพลาดแนวทางที่ถูกต้องคือการใช้การเปรียบเทียบสองสัญญาณเท่ากับ (==)

ถ้ามีคำสั่งเงื่อนไขกลับเท็จ (เราคาดว่า) เพราะ x ไม่เท่ากับ 10:

var x = 0;
ถ้า (x == 10)

ลอง»

ถ้ามีคำสั่งเงื่อนไขผลตอบแทนจริง (ไม่ได้ว่าเราคาดหวัง) คำสั่งจะถูกดำเนินการเพราะเงื่อนไขสำหรับการกำหนด x 10,10 เป็นจริง:

var x = 0;
ถ้า (x = 10)

ลอง»

ถ้ามีคำสั่งเงื่อนไขกลับเท็จ (ไม่ได้เป็นสิ่งที่เราคาดหวัง) คำสั่งจะถูกดำเนินการเพราะเงื่อนไขสำหรับการกำหนด x 0,0 เป็นเท็จ

var x = 0;
ถ้า (x = 0)

ลอง»
หมายเหตุ ส่งกลับค่าของการกำหนดตัวแปร

เปรียบเทียบข้อผิดพลาดที่พบบ่อย

ในการเปรียบเทียบธรรมดาชนิดข้อมูลจะถูกละเว้นถ้าคำสั่งเงื่อนไขต่อผลตอบแทนจริง:

var x = 10;
var Y = "10";
ถ้า (x == y)

ลอง»

ในการดำเนินการเปรียบเทียบอย่างเข้มงวดการคำนวณตัวตน === ประกอบการในขณะที่มูลค่าของการแสดงออกของการตรวจสอบชนิดที่เงื่อนไขต่อไปนี้ถ้ามีคำสั่งกลับเท็จ:

var x = 10;
var Y = "10";
ถ้า (x === Y)

ลอง»

ข้อผิดพลาดนี้มักจะเกิดขึ้นในงบเปลี่ยนสลับคำสั่งผู้ประกอบการคำนวณโดยใช้บัตรประจำตัว (===) ถูกนำมาเปรียบเทียบ:

ตัวอย่างต่อไปนี้จะดำเนินการแจ้งเตือนป๊อป:

var x = 10;
สวิทช์ (x) {
กรณีที่ 10: การแจ้งเตือน ( "Hello" );
}

ลอง»

ตัวอย่างต่อไปนี้จะไม่สอดคล้องกันเพราะคนประเภทที่ไม่ได้ดำเนินการป๊อปอัปแจ้งเตือน:

var x = 10;
สวิทช์ (x) {
กรณี "10": การแจ้งเตือน ( " สวัสดี");
}

ลอง»

การเพิ่มและการพิจารณาการเชื่อมต่อ

นอกเหนือจากตัวเลขสองเข้าด้วยกัน

สตริงการเชื่อมต่อการเชื่อมต่อทั้งสอง

นอกจากนี้และ JavaScript มีการเชื่อมต่อโดยใช้ผู้ประกอบการด้าน +

ต่อไปเราจะเห็นตัวเลขสองเข้าด้วยกันและเชื่อมต่อกับสตริงของตัวเลขและความแตกต่างโดยวิธีการเช่น:

var x = 10 + 5; // x 15 ผลการค้นหา
var x = 10 + "5" ; ผลการค้นหา // X คือ "105"

ลอง»

ตัวแปรที่ใช้เพิ่มผลลัพธ์ที่ไม่สอดคล้องกัน:

var x = 10;
var Y = 5;
var Z = X + Y; ผลการค้นหา // Z คือ 15

var x = 10;
var Y = "5";
var Z = X + Y; ผลการค้นหา // Z คือ "105"

ลอง»

หมายเหตุการใช้จุดลอยตัวข้อมูล

JavaScript ข้อมูลทั้งหมดจะขึ้นอยู่กับ 64 บิตชนิดข้อมูลจุดลอยตัว (float) เพื่อจัดเก็บ

การเขียนโปรแกรมภาษาทั้งหมดรวมถึง JavaScript เพื่อความถูกต้องลอยจุดของข้อมูลที่เป็นเรื่องยากที่จะตรวจสอบ:

var x = 0.1;
var Y = 0.2;
var Z = X + Y ผลการค้นหา // Z 0.3
ถ้า (Z == 0.3) // กลับเท็จ

ลอง»

ผมแก้ปัญหานี้คุณสามารถใช้การคูณจำนวนเต็มและหมวดการแก้:

ตัวอย่าง

var Z = (x * 10 + Y * 10) / 10; // ผล Z 0.3

ลอง»

JavaScript สาขาสตริง

เราใช้เส้นแบ่งที่จะเรียกใช้คำสั่ง JavaScript ในสตริง:

ตัวอย่างที่ 1

var x =
"Hello World!";

ลอง»

อย่างไรก็ตามในสตริงกลับสายการบินโดยตรงจะถูกรับสำหรับ:

ตัวอย่างที่ 2

var x = "สวัสดี
โลก! ";

ลอง»

เราสามารถเลือกเครื่องมือในการพัฒนาหรือกด F12 เพื่อดูข้อผิดพลาด:

แบ่งบรรทัดสตริงต้องใช้เครื่องหมาย (\) ดังต่อไปนี้:

ตัวอย่างที่ 3

var x = "สวัสดี \
โลก! ";

ลอง»

อัฒภาคผิด

ตัวอย่างต่อไปนี้เนื่องจากผิดอัฒภาคถ้าบล็อกคำสั่งของรหัสที่จะไม่ได้รับการดำเนินการ:

ถ้า (x == 19);
{
// การป้องกันรหัส
}

ลอง»

กลับข้อควรระวังคำสั่ง

JavaScript เป็นค่าเริ่มต้นจะสิ้นสุดลงโดยอัตโนมัติในบรรทัดสุดท้ายของรหัส

สองตัวอย่างต่อไปกลับผลเดียวกัน (ไม่อัฒภาค):

ตัวอย่างที่ 1

ฟังก์ชั่น myFunction (ก) {
อำนาจ var = 10
คืนอำนาจ * a
}

ลอง»

ตัวอย่างที่ 2

ฟังก์ชั่น myFunction (ก) {
อำนาจ var = 10;
คืนอำนาจ * a;
}

ลอง»

JavaScript นอกจากนี้ยังสามารถนำมาใช้เพื่อยุติคำสั่งหลายคู่สาย

ตัวอย่างต่อไปนี้กลับผลเดียวกัน:

ตัวอย่างที่ 3

ฟังก์ชั่น myFunction (ก) {
var
พลังงาน = 10;
คืนอำนาจ * a;
}

ลอง»

อย่างไรก็ตามตัวอย่างต่อไปนี้ผลจะถูกส่งกลับไม่ได้กำหนด:

ตัวอย่างที่ 4

ฟังก์ชั่น myFunction (ก) {
var
พลังงาน = 10;
กลับ
อำนาจ *;
}

ลอง»

เหตุใดจึงมีผลเช่น? เพราะใน JavaScript ตัวอย่างของการที่สอดคล้องกัน 4 และรหัสต่อไปนี้:

function myFunction(a) {
    var
    power = 10;  
    return;       // 分号结束,返回 undefined
    a * power;
}

แก้ไข

ถ้ามันเป็นคำสั่งที่ไม่สมบูรณ์ดังต่อไปนี้:

var

JavaScript จะพยายามที่จะอ่านคำสั่งบรรทัดที่สอง:

power = 10;

แต่เนื่องจากคำสั่งนี้เป็นที่สมบูรณ์แบบ:

return

JavaScript จะปิดโดยอัตโนมัติคำสั่ง:

return;

ใน JavaScript, อัฒภาคเป็นตัวเลือก

ตั้งแต่กลับเป็นประโยคที่สมบูรณ์ก็จะปิดคำสั่งกลับ JavaScript

หมายเหตุหมายเหตุ: อย่าทำลายเส้นของคำสั่งส่งคืนมา

ใช้ชื่อดัชนีอาร์เรย์

การเขียนโปรแกรมภาษาจำนวนมากให้ใช้ชื่อเป็นดัชนีอาร์เรย์

ใช้ชื่อเป็นดัชนีของอาร์เรย์ที่เรียกว่าอาเรย์ (หรือกัญชา)

JavaScript ไม่สนับสนุนการใช้ชื่อที่จะอาร์เรย์ดัชนีเพียงตัวเลขดัชนี

ตัวอย่าง

คน var = [];
คน [0] = "จอห์น" ;
คน [1] = "โด" ;
คน [2] = 46;
var x = person.length; // Person.length ผลตอบแทน 3
var Y = คน [0]; // คน [0] ส่งกลับ "จอห์น"

ลอง»

ใน JavaScript ใช้ชื่อของวัตถุที่เป็นดัชนี

หากคุณใช้ชื่อเป็นดัชนีเมื่อมีการเข้าถึงอาร์เรย์ JavaScript จะ redefine อาร์เรย์มาตรฐานของวัตถุ

หลังจากการดำเนินการดำเนินการนี้วิธีการและคุณสมบัติของอาร์เรย์จะไม่ถูกนำมาใช้มิฉะนั้นจะเกิดข้อผิดพลาด:

ตัวอย่าง

คน var = [];
คน [ "firstName"] = " จอห์น";
คน [ "นามสกุล"] = " โด";
คน [ "อายุ"] = 46 ;
var x = person.length; // person.length กลับ 0
var Y = คน [0]; // คน [0] ส่งกลับไม่ได้กำหนด

ลอง»

กำหนดองค์ประกอบอาร์เรย์และในที่สุดก็ไม่สามารถเพิ่มเครื่องหมายจุลภาค

ข้อผิดพลาดจะถูกกำหนด:

points = [40, 100, 1, 5, 25, 10,];

ความหมายที่ถูกต้องของวิธีการ:

points = [40, 100, 1, 5, 25, 10];

กำหนดวัตถุและในที่สุดก็ไม่สามารถเพิ่มเครื่องหมายจุลภาค

ข้อผิดพลาดจะถูกกำหนด:

websites = {site:"本教程", url:"www.w3big.com", like:460,}

ความหมายที่ถูกต้องของวิธีการ:

websites = {site:"本教程", url:"www.w3big.com", like:460}

ไม่ได้กำหนดไม่เป็นโมฆะ

ใน JavaScript, null สำหรับวัตถุที่ไม่ได้กำหนดตัวแปร, คุณสมบัติและวิธีการ

วัตถุที่มีการกำหนดไว้เพียงเป็นไปได้เป็นโมฆะไม่ได้กำหนดไว้เป็นอย่างอื่น

ถ้าเราต้องการที่จะทดสอบว่าการปรากฏตัวของวัตถุเมื่อวัตถุไม่ได้กำหนดยังจะโยนความผิดพลาด

การใช้งานที่ไม่ถูกต้อง:

if (myObj !== null && typeof myObj !== "undefined") 

วิธีที่ถูกต้องคือการที่เราจำเป็นต้องใช้ typeof การตรวจสอบว่าวัตถุที่ได้รับการกำหนด:

if (typeof myObj !== "undefined" && myObj !== null) 

บล็อกขอบเขต

JavaScript ไม่สร้างขอบเขตใหม่ในรหัสแต่ละบล็อกขอบเขตทั่วไปของรหัสแต่ละบล็อกมีทั่วโลก

ตัวแปรรหัสต่อไปนี้ผมจะส่งกลับ 10 แทนไม่ได้กำหนด:

ตัวอย่าง

สำหรับ (var i = 0; ฉัน <10; i ++) {
// รหัสบาง
}
กลับฉัน;

ลอง»