1. แต่ละฟังก์ชัน JavaScript เป็นอินสแตนซ์ของวัตถุฟังก์ชัน มันมีคุณสมบัติภายใน [[ขอบเขต]] ที่สามารถเข้าถึงได้สำหรับเครื่องยนต์ JavaScript เท่านั้น [[ขอบเขต]] นี้จัดเก็บคอลเลกชันที่กำหนดขอบเขตซึ่งเรียกว่า "โซ่ขอบเขต" และคอลเลกชันเก็บ "วัตถุที่ไม่แน่นอน" VO หรือ "Active Object" AO (AO มีคุณสมบัตินี้มากกว่าและอาร์กิวเมนต์มากกว่า VO)
2. เมื่อมีการสร้างฟังก์ชั่นวัตถุที่ไม่แน่นอนทั้งหมดในห่วงโซ่ขอบเขตของขอบเขตหลักจะถูกเพิ่มลงใน [[ขอบเขต]] (ถ้าขอบเขตหลักเป็นระดับโลกจะมีการเพิ่มวัตถุระดับโลกเพียงชิ้นเดียวลงในห่วงโซ่ขอบเขตของฟังก์ชั่นปัจจุบัน)
3. เมื่อมีการดำเนินการฟังก์ชั่นสภาพแวดล้อมการดำเนินการของฟังก์ชั่นจะถูกผลักเข้าไปในสแต็กสภาพแวดล้อม:
1. ในเวลานี้ขั้นตอนการเริ่มต้นตัวแปรของฟังก์ชั่นจะเข้าสู่ ขั้นตอนนี้กำหนดฟังก์ชั่นภายใน: ค่านี้พารามิเตอร์ฟังก์ชันการประกาศฟังก์ชั่นการประกาศตัวแปรและอาร์กิวเมนต์ ขึ้นอยู่กับค่าเหล่านี้วัตถุที่ใช้งาน AO ของฟังก์ชั่นปัจจุบันจะถูกแต่งขึ้นและวัตถุ AO จะถูกบันทึกไว้ในตำแหน่งแรกของห่วงโซ่ขอบเขตฟังก์ชันปัจจุบัน
หมายเหตุ: AO เต็มไปตามลำดับต่อไปนี้:
1. พารามิเตอร์ฟังก์ชั่น (หากมีพารามิเตอร์ผ่านมันจะถูกกำหนดหากพารามิเตอร์ไม่ผ่านค่าเริ่มต้นจะไม่ได้กำหนด) ลำดับความสำคัญที่สองคือ
2. การประกาศฟังก์ชั่น (หากความขัดแย้งของชื่อชีวิตเกิดขึ้นมันจะถูกแทนที่) ลำดับความสำคัญสูงสุดคือ
3. การประกาศตัวแปร (ค่าตัวแปรการเริ่มต้นไม่ได้กำหนดไว้หากความขัดแย้งของชื่อชีวิตเกิดขึ้นมันจะถูกละเว้น) ลำดับความสำคัญที่สาม
2. จากนั้นมันคือขั้นตอนการดำเนินการของฟังก์ชั่น ตัวแปรและการประกาศฟังก์ชั่นทั้งหมดที่ใช้ในฟังก์ชั่นปัจจุบันจะถูกค้นหาจาก [[ขอบเขต]] ห่วงโซ่ขอบเขตของฟังก์ชันปัจจุบัน ตามที่ตั้งของวัตถุในห่วงโซ่ขอบเขตวัตถุ AO ของฟังก์ชันปัจจุบันจะถูกค้นหาครั้งแรก หากไม่มีวัตถุด้านบนวัตถุทั่วโลกจะพบได้ หากไม่มีจะมีการรายงานข้อผิดพลาด (ตัวแปรไม่ได้กำหนด)
กระบวนการดำเนินการฟังก์ชั่น JavaScript ด้านบนเป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น