دستور with ECMAScript

عبارت برچسب‌دار

عبارت with برای تنظیم محدوده حوزه کد در یک شیء خاص استفاده می‌شود.

قانون‌های آن:

with (expression) statement

مثال:

var sMessage = "hello";
with(sMessage) {
  alert(toUpperCase());	// خروج "HELLO"
}

در این مثال، عبارت with برای رشته‌ها استفاده شده است، بنابراین هنگام فراخوانی روش toUpperCase()، برنامه‌پردازنده بررسی می‌کند که آیا این روش یک تابع محلی است یا خیر. اگر نه، آن برنامه‌پردازنده به پseudo-object sMessage نگاه می‌کند تا ببیند آیا این روش یکی از روش‌های آن اشیاء است. سپس، alert با نوشتن "HELLO" خروج می‌کند، زیرا برنامه‌پردازنده روش toUpperCase() برای رشته "hello" پیدا کرده است.

توضیح:عبارت with یک بلوک کد با اجرای کند است، به ویژه زمانی که مقادیر خاصی برای ویژگی‌ها تنظیم شده‌اند. در بیشتر موارد، بهتر است از آن اجتناب کنید.