ตัวแปร ecmascript:
1. ค่าประเภทพื้นฐาน (ส่วนข้อมูลอย่างง่าย)
2. ค่าประเภทการอ้างอิง (วัตถุที่อาจประกอบด้วยค่า) →วัตถุที่บันทึกไว้ในหน่วยความจำ
-
แอตทริบิวต์แบบไดนามิก: คุณสามารถเพิ่มแอตทริบิวต์ใหม่แบบไดนามิกลงในค่าอ้างอิงสำหรับการใช้งานในอนาคต
-
คัดลอกค่าตัวแปร:
คัดลอกค่าประเภทพื้นฐาน→สร้างค่าใหม่บนวัตถุตัวแปร→คัดลอกไปยังตัวแปรใหม่ (ไม่มีอิทธิพลร่วมกัน)
คัดลอกค่าประเภทการอ้างอิง→คัดลอกค่าที่เก็บไว้ในวัตถุตัวแปรลงในพื้นที่การจัดสรรตัวแปรใหม่ (สำเนาเป็นตัวชี้ชี้ไปที่วัตถุเดียวกันมีผลต่อกันและกัน)
-
พารามิเตอร์ผ่าน:
ฟังก์ชั่นทั้งหมดใน eCmascript จะถูกส่งผ่านตามค่า
(ค่าภายนอกฟังก์ชั่นถูกคัดลอกไปยังพารามิเตอร์ภายในฟังก์ชัน
→คุณสามารถจินตนาการถึงพารามิเตอร์ของฟังก์ชัน ECMA เป็นตัวแปรท้องถิ่น -
คำอธิบายของเหตุผล:
คำสั่ง 1:
พารามิเตอร์ฟังก์ชั่นเป็นตัวแปรท้องถิ่นซึ่งจะส่งผ่านไปยังพารามิเตอร์ฟังก์ชันในค่าภายนอกและค่าภายในและภายนอกจะไม่ส่งผลต่อกันและกัน การอ้างอิงและที่อยู่ที่ซ้ำกันได้รับการแก้ไขดังนั้นพวกเขาจึงมีอิทธิพลต่อกันและกัน
คำสั่ง 2: มุมวัตถุ (พารามิเตอร์คือ Object OBJ)
-
วัตถุจะถูกส่งผ่านโดยค่า→พารามิเตอร์วัตถุและวัตถุภายนอกอ้างถึงวัตถุเดียวกัน→วัตถุที่ชี้ไปที่วัตถุภายนอกมีวัตถุเดียวในหน่วยความจำฮีปและเป็นตัวแปรส่วนกลาง
อย่าเข้าใจผิดว่าเป็นผลมาจากวัตถุในท้องถิ่นที่สะท้อนอยู่ในขอบเขตทั่วโลก (ภายนอก) ของวัตถุที่แก้ไข→ตัวแปรท้องถิ่นภายในฟังก์ชั่นจะถูกทำลายทันทีหลังจากดำเนินการฟังก์ชั่น
-
สภาพแวดล้อมการดำเนินการ (บางครั้งเรียกว่า "สภาพแวดล้อม") และขอบเขต
สภาพแวดล้อมการดำเนินการกำหนดสีขาวหรือฟังก์ชั่นที่มีการเข้าถึงข้อมูลอื่น ๆ กำหนดพฤติกรรมที่เกี่ยวข้อง→แต่ละสภาพแวดล้อมการดำเนินการแต่ละอย่างมีวัตถุตัวแปรที่เกี่ยวข้องกับมัน→ตัวแปรและฟังก์ชั่นทั้งหมดที่กำหนดไว้ในสภาพแวดล้อมจะถูกเก็บไว้ในวัตถุนี้
-
แต่ละฟังก์ชั่นมีสภาพแวดล้อมการดำเนินการของตัวเอง→เมื่อโฟลว์การดำเนินการเข้าสู่ฟังก์ชั่น→สภาพแวดล้อมของฟังก์ชันจะถูกผลักเข้าไปในสแต็กสภาพแวดล้อม→ป๊อปมันขึ้นมาหลังจากที่ฟังก์ชั่นถูกดำเนินการ→การควบคุมการส่งคืนไปยังสภาพแวดล้อมการดำเนินการก่อนหน้านี้
เมื่อรหัสถูกดำเนินการในสภาพแวดล้อมโซ่ขอบเขตของวัตถุตัวแปรจะถูกสร้างขึ้น
จุดประสงค์ของโซ่ขอบเขต: ตรวจสอบให้แน่ใจว่าการเข้าถึงตัวแปรและฟังก์ชั่นทั้งหมดที่เป็นระเบียบซึ่งได้รับอนุญาตให้เข้าถึงในสภาพแวดล้อมการดำเนินการ
ส่วนหน้าของห่วงโซ่ขอบเขตมักจะเป็นวัตถุตัวแปรในสภาพแวดล้อมที่รหัสดำเนินการในปัจจุบันอยู่
-
สภาพแวดล้อมภายในสามารถห่วงโซ่สภาพแวดล้อมภายนอกทั้งหมดผ่านโซ่ขอบเขต แต่สภาพแวดล้อมภายนอกไม่สามารถเข้าถึงสภาพแวดล้อมภายในได้
พารามิเตอร์ฟังก์ชั่นยังถือว่าเป็นตัวแปร
-
ขยายขอบเขตห่วงโซ่:
คำสั่งบางอย่างสามารถเพิ่มตัวแปรชั่วคราวในห่วงโซ่ส่วนหน้าของขอบเขต (ตัวแปรจะถูกลบออกหลังจากการดำเนินการรหัส)
1. บล็อกจับของคำสั่งลองจับ
2. พร้อมคำสั่ง
-
Javas ไม่มีขอบเขตระดับบล็อก
ที่นี่เราสามารถแยกแยะความแตกต่างระหว่างขอบเขตระดับบล็อกและขอบเขตฟังก์ชัน
คำอธิบายโดยละเอียดข้างต้นของตัวแปร JS และขอบเขตคือเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น