دامنه JavaScript

دامنه به مجموعه‌ای از متغیرهایی اشاره دارد که به آن‌ها دسترسی دارید.

دامنه توابع 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 از زمان ایجاد آن‌ها آغاز می‌شود.

متغیرهای محلی در زمان تکمیل تابع حذف می‌شوند.

متغیرهای全局 در زمان بستن صفحه شما حذف می‌شوند.

پارامترهای تابع

پارامترهای تابع نیز متغیرهای محلی در داخل تابع هستند.