ฉันเชื่อว่าคุณคุ้นเคยกับตัวแปรส่วนกลาง ตัวแปรที่กำหนดในขอบเขตฟังก์ชันด้วย a=1 จะเป็นตัวแปรส่วนกลาง คุณสามารถใช้แบบฟอร์มสามรูปแบบต่อไปนี้เพื่อสร้างชื่อที่มองเห็นได้ทั่วโลก:
คัดลอกรหัสรหัสดังต่อไปนี้:
<สคริปต์>
วาร์ ก = 1;
ข = 2;
หน้าต่าง.c = 3;
</สคริปต์>
สำหรับเมธอด b=2 นั้นจริงๆ แล้วเหมือนกับ c เมื่อดำเนินการคำสั่งการกำหนดนี้ มันจะค้นหาตัวแปรที่ชื่อ b ตามแนวขอบเขตขอบเขต มันทำให้ Window เพิ่มคุณสมบัติ b และกำหนดค่า
มีความแตกต่างสองประการระหว่าง var และ non-var:
1 ไม่สามารถลบตัวแปรร่วมของ var ได้ เนื่องจากการลบจะลบคุณลักษณะที่ลบได้ของออบเจ็กต์อย่างชาญฉลาด และคุณลักษณะส่วนกลางที่กำหนดโดย var จะถูกทำเครื่องหมายว่าไม่สามารถลบได้ ควรสังเกตว่าหากการลบไม่สำเร็จ จะไม่มีข้อผิดพลาดเกิดขึ้น ค่าที่ส่งคืนของการลบจะเป็น true|false
2 ตัวแปรร่วมที่กำหนดโดย var จะได้รับการเลื่อนระดับ แต่ตัวแปรส่วนกลางที่กำหนดโดยไม่มี var จะไม่ได้รับการเลื่อนระดับ คุณสามารถดูผลลัพธ์การทำงานของโปรแกรมต่อไปนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:
<สคริปต์>
การแจ้งเตือน (ก);
วาร์ ก=1;
</สคริปต์>
คัดลอกรหัสรหัสดังต่อไปนี้:
<สคริปต์>
alert(a);//error, a undefinition
ก=1;
</สคริปต์>