1. มาตรฐานการแบ่งของ JavaScript ขอบเขตคือฟังก์ชันบล็อกฟังก์ชันไม่หารด้วย IF, ในขณะที่หรือสำหรับ
<script> ฟังก์ชั่น f1 () {แจ้งเตือน ("ก่อนหน้าสำหรับขอบเขต:"+i); // ฉันไม่ได้รับมอบหมาย (ไม่ใช่โดยไม่มีการประกาศ! การใช้ตัวแปรหรือฟังก์ชั่นที่ไม่ได้ประกาศจะทำให้เกิดข้อผิดพลาดร้ายแรงและการดำเนินการสคริปต์ขัดจังหวะ) // ในเวลานี้ค่า I ไม่ได้กำหนดไว้สำหรับ (var i = 0; i <3; i ++) {แจ้งเตือน ("ในขอบเขต:"+i); // ค่าของฉันคือ 3 ซึ่งอยู่นอกขอบเขตแล้ว แต่ค่าของฉันยังคงอยู่เป็น 3 ในขณะที่ (จริง) {var J = 1; Break;} Alert (J); // ค่าของ j คือ 1 ซึ่งอยู่นอกขอบเขตในขณะที่อยู่แล้ว แต่ค่าของ j ยังคงอยู่เป็น 1 ถ้า (จริง) {var j = 1; Break;} Alert (J); // ค่าของ j คือ 1 ซึ่งอยู่นอกขอบเขตในขณะที่อยู่แล้ว แต่ค่าของ j ยังคงอยู่เป็น 1 ถ้า (จริง) {var k = 1; } Alert (K); // ค่าของ k คือ 1 และอยู่นอกขอบเขตของขอบเขตถ้าค่าของ k ยังคงอยู่เป็น 1} f1 (); // ในเวลานี้ฟังก์ชั่นจะถูกเรียกนอกบล็อกฟังก์ชั่นและการแจ้งเตือนตัวแปร IJK (i) ที่มีอยู่ในขอบเขตฟังก์ชันของ F1 คือเอาต์พุตอีกครั้ง //ข้อผิดพลาด!!! เหตุผลก็คือฉันที่นี่ไม่ได้ประกาศ (ไม่ได้ออกแบบแตกต่างจากผลลัพธ์ของบรรทัดแรกของ F1) สคริปต์นั้นผิดและโปรแกรมสิ้นสุดลง! การแจ้งเตือน (J); // ไม่ดำเนินการแจ้งเตือน (k); // ไม่ได้ดำเนินการ </script>2. ก่อนที่ JavaScript จะถูกดำเนินการมันจะคอมไพล์ไฟล์สคริปต์ทั้งหมด (วิเคราะห์ส่วนการประกาศของไฟล์สคริปต์รวมถึงส่วนตัวแปรโลคัล) ดังนั้นจึงกำหนดขอบเขตของตัวแปรจริง ตัวอย่างด้านล่าง:
<script> var x = 1; ฟังก์ชั่น f2 () {แจ้งเตือน (x); // ค่าของ x ไม่ได้กำหนด! X นี้ไม่ใช่ตัวแปรทั่วโลกเนื่องจากตัวแปรท้องถิ่นที่มีชื่อซ้ำได้รับการประกาศในขอบเขตฟังก์ชันดังนั้นพารามิเตอร์ A ของตัวแปรส่วนกลางจะถูกเขียนทับ สิ่งนี้แสดงให้เห็นว่า JavaScript จะถูกคอมไพล์ก่อนการดำเนินการและ X ในร่างกายฟังก์ชั่นชี้ไปที่ตัวแปรท้องถิ่นไม่ใช่ตัวแปรทั่วโลก ในเวลานี้ X ถูกประกาศเท่านั้นและไม่มีการมอบหมายดังนั้นจึงไม่ได้กำหนด x = 3; การแจ้งเตือน (x); // ค่าของ x คือ 3 แต่ตัวแปรท้องถิ่น var x ยังคงประกาศการแจ้งเตือน (x); // ค่าของตัวแปรท้องถิ่น x ถูกประกาศการแจ้งเตือน (x); // ค่าของ x คือ 3} f2 (); การแจ้งเตือน (x); // ค่าของ x คือ 1 ไม่ใช่ภายในขอบเขตฟังก์ชันค่าของ x คือค่าของตัวแปรส่วนกลาง </script>3. เมื่อตัวแปรทั่วโลกถูกทำซ้ำกับตัวแปรท้องถิ่นขอบเขตของตัวแปรท้องถิ่นจะเขียนทับขอบเขตของตัวแปรทั่วโลก หลังจากออกจากขอบเขตของตัวแปรท้องถิ่นมันจะกลับสู่ขอบเขตของตัวแปรส่วนกลาง เมื่อตัวแปรทั่วโลกเผชิญหน้ากับตัวแปรท้องถิ่น
วิธีใช้ตัวแปรทั่วโลก? ใช้ window.globalvariablename
<script> var a = 1; ฟังก์ชั่น f3 () {แจ้งเตือน (window.a); // บิต 1 นี่คือตัวแปรส่วนกลาง var a = 2; การแจ้งเตือน (a); } f3 (); แจ้งเตือน (a); </script>บทความข้างต้นกล่าวถึงตัวแปรทั่วโลกและท้องถิ่นของ JavaScript เป็นสั้น ๆ เป็นเนื้อหาทั้งหมดที่ฉันได้แบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น