اگر از strict mode در جاوا اسکریپت استفاده نمیکنید ممکن است به خیلی از خطاهایی که رخ میدهد دقت نکرده باشید.یکی از مرسوم ترین  آنها تعریف خودکار متغیر عمومی است هنگامی که درون یک تابع متغیر  را با var تعریف نکرده باشید و از آن تابع استفاده کنید! کمی گنگ بود؟ به این مثال دقت کنید :

function glob(){
	x = 10
	console.log(x)
}

glob() // 10

console.log(x) //10

چرا در آخر خط آخر هم متغیر x که خارج از اسکوپ قرار دارد مقدار درون تابع  را داشت؟ چون x را با var تعریف نکرده بودید.

این کد درست عمل میکند :

function glob(){
	var x = 10
	console.log(x)
}

glob() // 10

console.log(x) // ReferenceError

:)