جاوا اسکریپت خوش زبان قسمت بیست و سوم
نکته منفی این است که ممکن است – احتمالاً حتی – به طور تصادفی تعداد اشتباهی از آرگومان ها را به توابع ارسال کنید. و هیچ کس نخواهد گفت
شما در مورد آن
نکته مثبت این است که از این رفتار می توان برای فراخوانی یک تابع استفاده کرد
با تعداد آرگومان های مختلف به عنوان مثال، این تابع منهای تلاش می کند
با عمل بر روی یک یا دو آرگومان از عملگر – تقلید کنید:
تابع منهای (a, b) {
اگر (b === تعریف نشده) -a;
در غیر این صورت بازگشت a – b;
}
console.log(minus(10));
// → -10
console.log(minus(10, 5));
// → 5
اگر یک عملگر = را بعد از یک پارامتر بنویسید و به دنبال آن یک عبارت، the
وقتی آرگومان داده نشود، مقدار آن عبارت جایگزین می شود.
به عنوان مثال، این نسخه از قدرت، آرگومان دوم خود را اختیاری می کند. اگر
شما آن را ارائه نمی کنید یا مقدار را تعریف نشده ارسال نمی کنید، به طور پیش فرض روی دو خواهد بود و
عملکرد مانند مربع رفتار خواهد کرد.
توان تابع (پایه، توان = 2) {
اجازه دهید نتیجه = 1;
برای (شمارش = 0، شمارش < توان، شمارش ++) {
نتیجه *= پایه;
}
نتیجه بازگشت؛
}
console.log(power(4));
// → 16
console.log(power(2, 6));
// → 64
در فصل بعد، روشی را مشاهده خواهیم کرد که از طریق آن یک بدنه تابع می تواند به آن برسد
کل فهرست استدلال ها تصویب شد. این مفید است زیرا باعث می شود
این امکان وجود دارد که یک تابع هر تعداد آرگومان را بپذیرد. مثلا،
console.log این کار را انجام می دهد – تمام مقادیر داده شده را خروجی می کند.
console.log(“C”، “O”، 2);
// → C O 2
بسته
توانایی در نظر گرفتن توابع به عنوان ارزش، همراه با این واقعیت که محلی است
هر بار که تابعی فراخوانی میشود، پیوندها دوباره ایجاد میشوند و یک تابع جالب را نشان میدهند
سوال هنگام فراخوانی تابعی که ایجاد می شود، برای اتصالات محلی چه اتفاقی می افتد
آنها دیگر فعال نیستند؟
کد زیر نمونه ای از این را نشان می دهد. یک تابع تعریف می کند، wrapValue،
که یک اتصال محلی ایجاد می کند. سپس تابعی را برمی گرداند که به آن دسترسی پیدا کرده و برمی گرداند
این اتصال محلی
تابع wrapValue(n) {
اجازه دهید local = n;
بازگشت () => محلی;
}
47
اجازه دهید wrap1 = wrapValue(1);
اجازه دهید wrap2 = wrapValue(2);
console.log(wrap1());
// → 1
console.log(wrap2());
// → 2
این مجاز است و همانطور که می خواهید کار می کند – هر دو نمونه از اتصال می توانند
هنوز قابل دسترسی است. این وضعیت به خوبی نشان دهنده این واقعیت است که محلی
پیوندها برای هر تماس دوباره ایجاد می شوند و تماس های مختلف نمی توانند پایمال شوند
الزامات محلی یکدیگر
این ویژگی – توانایی ارجاع به یک نمونه خاص از یک اتصال محلی در
یک محدوده محصور – بسته شدن نامیده می شود. تابعی که به پیوندها ارجاع می دهد
محدوده های محلی اطراف آن را بسته شدن می گویند. این رفتار نه تنها شما را از شر آن خلاص می کند
نیاز به نگرانی در مورد طول عمر اتصالات، اما استفاده از آن را نیز ممکن می کند
ارزش های تابع به روش های خلاقانه
با کمی تغییر می توانیم.
قوانین ارسال دیدگاه در سایت