บทความนี้วิเคราะห์ห่วงโซ่ขอบเขตของฟังก์ชัน JavaScript ในตัวอย่าง แบ่งปันสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
โซ่ขอบเขต:
ฟังก์ชั่นแต่ละฟังก์ชั่นใน JavaScript มีขอบเขตของตัวเอง มันถูกบันทึกโดยใช้วัตถุที่ใช้งานอยู่ (AO สำหรับสั้น) วัตถุที่ใช้งานอยู่และโซ่ขอบเขตจะเกิดขึ้นในฟังก์ชั่นซ้อนกันดังแสดงในรูปด้านล่าง:
โซ่ขอบเขตคือห่วงโซ่ AO จากด้านในไปด้านนอก
การค้นหาตัวแปร:
หากตัวแปรที่ใช้ในฟังก์ชั่น FN3 ไม่สามารถพบได้ภายในขอบเขตของ FN3 จากนั้นค้นหาขอบเขต FN2 ด้านนอกและอื่น ๆ จนกระทั่งหน้าต่างวัตถุทั่วโลก
การสาธิตรหัสมีดังนี้:
var c = 5; ฟังก์ชั่น t1 () {var d = 6; ฟังก์ชั่น t2 () {var e = 7; var d = 3; // ถ้า var d = 3 ประกาศที่นี่ฟังก์ชั่นจะไม่มองหาตัวแปร d ออกไปด้านนอกและค่าเอาต์พุตคือ 15 console.log (c+d+e); } t2 (); } t1 ();หลังจากทำความเข้าใจโซ่ขอบเขต JavaScript ให้ใช้ตัวแปรภายนอกที่มีความถี่สูงกว่าในฟังก์ชัน เป็นการดีที่สุดที่จะบันทึกตัวแปรภายนอกเป็นตัวแปรท้องถิ่นก่อนดำเนินการซึ่งช่วยลดเวลาในการค้นหาตัวแปรผ่านห่วงโซ่ขอบเขต
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน