1. ภาพรวมของประเภทพื้นฐานและประเภทอ้างอิง
ค่าของประเภทข้อมูลใน JS รวมถึง: ค่าประเภทพื้นฐานและค่าประเภทอ้างอิง
ประเภทข้อมูลพื้นฐาน: undefined; null; boolean; number; string
ค่าประเภทอ้างอิง: บันทึกในหน่วยความจำ JS ไม่อนุญาตให้เข้าถึงตำแหน่งหน่วยความจำโดยตรงดังนั้นเมื่อใช้งานอ้างอิงแทนวัตถุจริง
2. วิธีตรวจสอบชนิดข้อมูล
1. การตรวจจับประเภทข้อมูลพื้นฐาน: ใช้ typeof
var s = "aaa"; การแจ้งเตือน (typeof s); // กลับไปที่สตริง
2. ประเภทอ้างอิง (ประเภทวัตถุ) การตรวจจับ: ใช้อินสแตนซ์ของ
การแจ้งเตือน (อินสแตนซ์บุคคลของวัตถุ); การแจ้งเตือน (บุคคลอินสแตนซ์ของอาร์เรย์); การแจ้งเตือน (บุคคลอินสแตนซ์ของ regexp);
3. กรณีพิเศษ: อินสแตนซ์ของการส่งคืนจริงเสมอเมื่อตรวจจับวัตถุและส่งคืนเท็จเสมอเมื่อตรวจจับประเภทพื้นฐาน (เนื่องจากประเภทพื้นฐานไม่ใช่วัตถุ)
Typeof ส่งคืนฟังก์ชันเมื่อตรวจจับฟังก์ชั่นและวัตถุเมื่อตรวจจับการแสดงออกปกติ
3. ความแตกต่างระหว่างประเภทพื้นฐานและประเภทอ้างอิง
1. คุณสามารถเพิ่มแอตทริบิวต์ลงในประเภทการอ้างอิง แต่ไม่ใช่ประเภทพื้นฐาน
2. เมื่อคัดลอกประเภทพื้นฐานจะคัดลอกตัวแปรใหม่โดยตรงและไม่มีความสัมพันธ์ระหว่างตัวแปรใหม่และตัวแปรเก่า
ประเภทการอ้างอิงยังคัดลอกตัวแปรใหม่ แต่ตัวแปรนี้เป็นตัวชี้และตัวชี้แบบเก่าและใหม่ชี้ไปที่วัตถุเดียวกัน
3. การถ่ายโอนพารามิเตอร์ฟังก์ชั่น: หลักการของการถ่ายโอนพารามิเตอร์ทั้งหมดคือการส่งผ่านตัวแปรภายนอกไปยังพารามิเตอร์ของฟังก์ชั่นผ่านการคัดลอก ดังนั้นการทำงานของฟังก์ชั่นภายในบนพารามิเตอร์จึงไม่มีผลต่อตัวแปรดั้งเดิมภายนอก
ต่อไปนี้มีดังต่อไปนี้เพื่อตรวจสอบพารามิเตอร์เป็นประเภทพื้นฐานและประเภทอ้างอิงเป็นตัวอย่าง:
ฟังก์ชั่น addten (num) {num += 10; กลับมา; } var count = 20; var result = addten (count); // การดำเนินการภายในใน NUM ที่นี่จะไม่ส่งผลกระทบต่อค่าของฟังก์ชันการนับภายนอก setName (obj) {obj.name = "Nicholas"; obj = วัตถุใหม่ (); obj.name = "greg"; } var person = new Object (); setname (บุคคล); การแจ้งเตือน (person.name); // return "Nicholas" ระบุว่าชื่อของวัตถุบุคคลภายนอกยังไม่ได้รับผลกระทบข้างต้นคือสิ่งที่บรรณาธิการแนะนำให้คุณพูดคุยเกี่ยวกับประเภทพื้นฐานและประเภทการอ้างอิงใน JavaScript (แนะนำ) ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!