Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ตัวแปร JavaScript ประกาศวงนอกหรือวงใน?


ภาษา ECMA-/Javascript จะรอกตัวแปรใดๆ ที่ประกาศ withvar ไว้ที่ด้านบนสุดของฟังก์ชัน นั่นเป็นเพราะว่าภาษานี้มีขอบเขตฟังก์ชันและไม่มีขอบเขตการบล็อกเหมือนกับภาษา C อื่นๆ

function() {
   for(var a = 0; a < 7; a ++) {
      var b = 100;
   }
}

เหมือนกับ

function() {
   var b;
   for(var a = 0; a < 7; a ++) {
      b = 100;
   }
}

แต่ด้วยการปล่อยให้ นี่ไม่ใช่กรณี ให้มีขอบเขตคำศัพท์ ดังนั้น เว้นแต่คุณจะต้องใช้ตัวแปรเดียวกันนอกลูป (หรือหากการวนซ้ำแต่ละครั้งขึ้นอยู่กับการดำเนินการที่ทำกับตัวแปรนั้นในการวนซ้ำครั้งก่อน) ขอแนะนำให้ประกาศขอบเขตภายในที่ใช้