دامنه JavaScript
- صفحه قبلی استثناهای JS
- صفحه بعدی JS Hoisting
دامنه به مجموعهای از متغیرهایی اشاره دارد که به آنها دسترسی دارید.
دامنه توابع JavaScript
در JavaScript دو نوع دامنه وجود دارد:
- دامنه محلی
- دامنه جهانی
JavaScript دارای دامنه توابع است: هر تابع یک دامنه جدید ایجاد میکند.
دامنه تعیین میکند دسترسیپذیری (دیدرسپذیری) این متغیرها را.
متغیرهایی که در داخل توابع تعریف میشوند از بیرون توابع قابل دسترسی نیستند (در دیدرس نیستند).
متغیرهای محلی JavaScript
متغیرهایی که در توابع JavaScript اعلام میشوند، بهمتغیرهای محلی.
دامنه متغیرهای محلی استمحلی: فقط میتوان به آنها در داخل توابع دسترسی داشت.
مثال
// این کد نمیتواند از متغیر carName استفاده کند function myFunction() { var carName = "porsche"; // این کد میتواند از متغیر carName استفاده کند }
به دلیل اینکه فقط میتوان از متغیرهای محلی در داخل توابع استفاده کرد، بنابراین میتوان از متغیرهای همنام در توابع مختلف استفاده کرد.
متغیرهای محلی در شروع توابع ایجاد میشوند و در پایان توابع حذف میشوند.
متغیرهای جهانی JavaScript
متغیرهایی که خارج از توابع اعلام میشوند، بهمتغیرهای جهانی.
دامنه متغیرهای جهانی استجهانی: تمامی اسکریپتها و توابع وب میتوانند به آن دسترسی داشته باشند.
مثال
var carName = "porsche"; // این کد میتواند از متغیر carName استفاده کند function myFunction() { // این کد نیز میتواند از متغیر carName استفاده کند }
متغیرهای JavaScript
در JavaScript، اشیاء و توابع نیز متغیر هستند.
دامنه تعیین میکند که از چه بخشهایی از کد میتوان به متغیرها، اشیاء و توابع دسترسی داشت.
جهانی خودکار
اگر شما به متغیری که هنوز اعلام نشده است، ارزشی اختصاص دهید، این متغیر به صورت خودکار بهجهانیمتغیر.
این کد یک متغیر جهانی carName را اعلام میکند، حتی اگر در داخل تابع تغییر کند.
مثال
myFunction(); // این کد میتواند از متغیر carName استفاده کند function myFunction() { carName = "porsche"; }
حالت strict mode
همه مرورگرهای مدرن از حالت "strict mode" برای اجرای JavaScript پشتیبانی میکنند.
شما در بخشهای بعدی این آموزشها بیشتر درباره نحوه استفاده از "strict mode" یاد خواهید گرفت.
در حالت "strict mode"، متغیرهای global به صورت خودکار ایجاد نمیشوند.
متغیرهای global در HTML
با استفاده از JavaScript، محدوده global یک محیط کامل JavaScript را تشکیل میدهد.
در HTML، محدوده globale در window است. تمام متغیرهای global به شیء window تعلق دارند.
مثال
var carName = "porsche"; // این کد میتواند از window.carName استفاده کند
اخطار
به جز موارد خاص، لطفاً متغیرهای全局 ایجاد نکنید.
متغیرهای全局 (یا توابع) شما میتوانند متغیرهای (یا توابع) window را تغییر دهند.
هر تابعی، از جمله شیء window، میتواند متغیرهای全局 و توابع شما را تغییر دهد.
عمر متغیرهای JavaScript
عمر متغیرهای JavaScript از زمان ایجاد آنها آغاز میشود.
متغیرهای محلی در زمان تکمیل تابع حذف میشوند.
متغیرهای全局 در زمان بستن صفحه شما حذف میشوند.
پارامترهای تابع
پارامترهای تابع نیز متغیرهای محلی در داخل تابع هستند.
- صفحه قبلی استثناهای JS
- صفحه بعدی JS Hoisting