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