ภาษา 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; } }
แต่ด้วยการปล่อยให้ นี่ไม่ใช่กรณี ให้มีขอบเขตคำศัพท์ ดังนั้น เว้นแต่คุณจะต้องใช้ตัวแปรเดียวกันนอกลูป (หรือหากการวนซ้ำแต่ละครั้งขึ้นอยู่กับการดำเนินการที่ทำกับตัวแปรนั้นในการวนซ้ำครั้งก่อน) ขอแนะนำให้ประกาศขอบเขตภายในที่ใช้