ขอบเขตและขอบเขตของ JavaScript เป็นส่วนที่เจ็บปวดที่สุดในการเรียนรู้ของฉันเพราะฉันใช้เวลาอ่านเอกสารทางเทคนิคมากมาย แต่ไม่เข้าใจ ฉันรู้ว่ามันหมายถึงอะไร แต่ฉันก็ยังไม่สามารถบอกได้ว่าทำไม
ผ่านเอกสารทางเทคนิคการทดสอบและการอ่านอย่างกว้างขวางของฉันฉันได้สรุปความเข้าใจต่อไปนี้ แม้ว่ามันจะไม่ได้เป็นเทคนิคมาก แต่ฉันก็เข้าใจได้จริงๆ
1. JavaScript แบ่งออกเป็นระดับโลกและท้องถิ่นเท่านั้นและไม่มีตัวดัดแปลงต่างๆสำหรับภาษาพื้นหลังเหล่านั้น หากคุณไม่ได้ใช้ VAR ในฟังก์ชั่นมันเป็นทั่วโลก ดังนี้:
<script type = "text/javascript"> varname = "c#"; // global window.name = "java"; // global varlanguage = function () {alert (ชื่อ); name = "javascript"; // global var name = "js"; // local Alert (ชื่อ); } () การแจ้งเตือน (ชื่อ); </script>รหัสด้านบนแสดงถึงทั่วโลกทั้งหมดชี้ไปที่ตัวแปรเดียวกันและคำจำกัดความต่อไปนี้จะแทนที่ข้างต้น เกี่ยวกับการแจ้งเตือนทั้งสามคือ Underfind, JS และ JavaScript นี่คือขอบเขตที่มีบทบาท
2. โซ่ขอบเขตเริ่มต้นจากระดับ 0 และจัดเรียงลงตามลำดับ สิ่งที่เรียกว่าลงตามลำดับอ้างถึงการจัดเรียงของเด็ก เมื่อมองหาตัวแปรก่อนอื่นให้มองหาพวกเขาจากระดับเดียวกันจากนั้นมองหาระดับหลัก
ในตัวอย่างข้างต้น
สิ่งแรกที่ปรากฏขึ้นคือการแจ้งเตือนครั้งแรกในวิธีภาษา หากหน้าต่างทั่วโลกเป็น 0 ดังนั้นในตัวอย่าง var name = "JS" คือ 1 การแจ้งเตือนครั้งแรกพบได้ใน 1 หากไม่สามารถพบได้ให้มองหามันใน 0 นี่คือพบว่ามีชื่อ var = "js" ในระดับเดียวกัน แต่ยังไม่ได้กำหนดค่า
ป๊อปอัพครั้งที่สองคือการแจ้งเตือนครั้งที่สองในวิธีการภาษาและเขาจะมองหามันใน 1 นั่นคือด้านในของวิธีการ เขาพบชื่อและมอบหมาย JS ดังนั้นป๊อปอัพคือ JS
ป๊อปอัพที่สามคือการแจ้งเตือนที่ด้านล่าง เนื่องจากชื่อทั่วโลกได้รับการกำหนดใหม่ภายในวิธีการ JavaScript จึงปรากฏขึ้น
จากนั้นเพิ่มลิงค์ถัดไปเรามีวิธีการในภาษาดังนี้:
<scriptType = "text/javascript"> varname = "javascript"; // window.name.name = "javascript"; // global varlanguage = function () {alert (ชื่อ); name = "javascript"; // global varname = "js"; // local alert (ชื่อ); var lovelanguage = function () {alert (ชื่อ); - } () การแจ้งเตือน (ชื่อ); </script>ในเวลานี้การแจ้งเตือนใน Lovelanguage ปรากฏขึ้นพร้อมกับ JS เพราะมันจะพบชื่อในระดับภาษาซึ่งเป็นชื่อในภาษา - -
ข้างต้นเป็นเนื้อหาทั้งหมดของขอบเขต JavaScript และขอบเขตโซ่ (ต้องอ่านสำหรับมือใหม่) ที่นำเสนอโดยบรรณาธิการ ฉันหวังว่าทุกคนจะสนับสนุนการเดินกลับบ้านมากขึ้น