ปรากฏการณ์:
1. ใน JavaScript การประกาศตัวแปรและฟังก์ชั่นจะได้รับการเลื่อนตำแหน่งให้เป็นการดำเนินการสูงสุด
2. การปรับปรุงฟังก์ชั่นสูงกว่าการปรับปรุงตัวแปร
3. หากตัวแปรภายนอกที่มีชื่อเดียวกันถูกประกาศภายในฟังก์ชั่นด้วย VAR ฟังก์ชั่นจะไม่มองขึ้นไปอีกต่อไป
4. ฟังก์ชั่นที่ไม่ระบุชื่อจะไม่ได้รับการส่งเสริม
5. ฟังก์ชั่นในบล็อก <Script> ที่แตกต่างกันไม่ส่งผลต่อกันและกัน
ตัวอย่าง:
การส่งเสริมการประกาศฟังก์ชั่นสูงกว่าการประกาศตัวแปร
// ประกาศตัวแปร A และฟังก์ชั่น Avar A; ฟังก์ชัน A () {} Alert (typeof a); // "ฟังก์ชั่น" จะปรากฏขึ้นซึ่งพิสูจน์แล้วว่าลำดับความสำคัญของฟังก์ชั่นสูงกว่า VAR // ประกาศฟังก์ชั่นก่อนจากนั้นประกาศตัวแปรพิสูจน์ว่าตัวอย่างข้างต้นไม่ได้ทำงานทับฟังก์ชั่นตัวแปร A () {} var A; การแจ้งเตือน (typeof a); // หน้าจอยังคงเป็น "ฟังก์ชั่น" ไม่ใช่ "ไม่ได้กำหนด" นั่นคือลำดับความสำคัญของฟังก์ชั่นสูงกว่า VAR // ประกาศตัวแปรและกำหนดฟังก์ชันค่า a () {} var a = 1; การแจ้งเตือน (typeof a); // หมายเลขมันไม่ใช่ฟังก์ชั่นในเวลานี้ // หมายเหตุ: "var a = 1" เทียบเท่ากับ "var a; a = 1" นั่นคือประกาศก่อนจากนั้นกำหนดค่า "A = 1" เทียบเท่ากับการกำหนด A ซึ่งเป็นจำนวนตามธรรมชาติ!ฟังก์ชั่นใช้ VAR เพื่อกำหนดตัวแปรเดียวกับภายนอกและฟังก์ชั่นจะไม่ค้นหาตัวแปรภายนอกอีกต่อไป
var value = 'hello'; ฟังก์ชั่นแสดง () {การแจ้งเตือน (ค่า); if (! value) {var value = 'function'; } Alert (value);} show () // ฟังก์ชั่นเรียกว่าที่นี่และปรากฏขึ้น "undefined", "function" // ตัวอย่างข้างต้นเทียบเท่ากับ var value = 'hello'; function show () {var value; // หมายเหตุการแจ้งเตือนบรรทัดนี้ (ค่า); if (! value) {value = 'function'; // บรรทัดนี้ลบการแจ้งเตือน var} (ค่า);} show () // 1 หากค่าที่กำหนดภายในในการแสดงในคอลัมน์ด้านบนไม่ได้ใช้ VAR ตัวแปรภายนอกจะถูกใช้และ "สวัสดี" จะปรากฏขึ้น "สวัสดี" // 2. หากไม่ได้กำหนดค่าภายในฟังก์ชันค่าภายนอกสามารถได้รับฟังก์ชั่นที่ไม่ระบุชื่อจะไม่ดีขึ้นไปข้างบน
getName () var getName = function () {Alert ('closule')} ฟังก์ชั่น getName () {การแจ้งเตือน ('ฟังก์ชั่น')} getName () // รหัสด้านบนเทียบเท่ากับฟังก์ชัน getName () {// ฟังก์ชั่นการแจ้งเตือน ปรากฏขึ้น "ฟังก์ชั่น" และ "ปิด"ฟังก์ชั่นในบล็อก <script> ที่แตกต่างกันไม่มีผลต่อกันและกัน
<script> getName () var getName = function () {Alert ('closule')} <script> <script> ฟังก์ชั่น getName () {การแจ้งเตือน ('ฟังก์ชั่น')} <script> // ข้อผิดพลาดในการเรียกใช้รหัส: TypeError: getName ไม่ใช่ฟังก์ชัน //การอภิปรายสั้น ๆ ข้างต้นเกี่ยวกับการปรับปรุงตัวแปรและการประกาศฟังก์ชั่นใน JavaScript เป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น