جاوا اسکریپت خوش زبان قسمت بیست و یکم
ممکن است یک مقدار تابع را در یک اتصال جدید ذخیره کنید، آن را به عنوان آرگومان ارسال کنید
42
یک تابع و غیره به طور مشابه، اتصالی که تابعی را نگه میدارد هنوز فقط a است
اتصال منظم و اگر ثابت نباشد، میتوان مقدار جدیدی به آن اختصاص داد، مانند:
اجازه دهید launchMissiles = function() {
missileSystem.launch(“اکنون”);
};
if (SafeMode) {
launchMissiles = function() {/* هیچ کاری انجام نمی دهد */};
}
در فصل 5، در مورد کارهای جالبی که می توان انجام داد بحث خواهیم کرد
انتقال مقادیر تابع به سایر توابع
نماد اعلامیه
یک راه کمی کوتاهتر برای ایجاد یک تابع binding وجود دارد. زمانی که تابع
کلمه کلیدی در ابتدای یک عبارت استفاده می شود، متفاوت عمل می کند.
تابع مربع(x) {
بازگشت x * x;
}
این یک اعلان تابع است. این عبارت مربع اتصال و را تعریف می کند
آن را به تابع داده شده نشان می دهد. نوشتن کمی ساده تر است و نیازی به آن ندارد
یک نقطه ویرگول بعد از تابع.
یک نکته ظریف در این شکل از تعریف تابع وجود دارد.
console.log(“آینده می گوید:”، future());
تابع future() {
بازگشت “شما هرگز ماشین های پرنده نخواهید داشت”؛
}
کد قبلی کار می کند، حتی اگر تابع در زیر کد تعریف شده باشد
که از آن استفاده می کند. اعلانهای عملکرد بخشی از بالا به پایین معمولی نیستند
جریان کنترل آنها از نظر مفهومی به بالاترین حد خود منتقل می شوند و می توانند
توسط تمام کدهای موجود در آن محدوده استفاده شود. این گاهی اوقات مفید است زیرا ارائه می دهد
آزادی سفارش کد به روشی که معنی دار به نظر می رسد، بدون نگرانی
در مورد نیاز به تعریف همه توابع قبل از استفاده.
43
توابع پیکان
نماد سومی برای توابع وجود دارد که بسیار متفاوت از توابع است
دیگران. به جای کلمه کلیدی تابع، از یک فلش (=>) ساخته شده از یک استفاده می کند
علامت مساوی و کاراکتر بزرگتر از (با عملگر بزرگتر یا مساوی که >= نوشته می شود اشتباه نشود).
توان const = (پایه، توان) => {
اجازه دهید نتیجه = 1;
برای (شمارش = 0، شمارش < توان، شمارش ++) {
نتیجه *= پایه;
}
نتیجه بازگشت؛
};
فلش بعد از لیست پارامترها می آید و تابع به دنبال آن می آید
بدن چیزی شبیه این را بیان می کند: «این ورودی (پارامترها) این را تولید می کند
نتیجه (بدن)».
هنگامی که تنها یک نام پارامتر وجود دارد، می توانید پرانتز را حذف کنید
در اطراف لیست پارامترها اگر بدن یک بیان واحد باشد، نه یک
بلوک در پرانتز، آن عبارت از تابع برگردانده می شود. پس اینها
دو تعریف از مربع یک کار را انجام می دهند:
const square1 = (x) => { بازگشت x * x; };
const square2 = x => x * x;
وقتی یک تابع فلش اصلاً پارامتری ندارد، لیست پارامترهای آن فقط است
یک مجموعه خالی از پرانتز
const horn = () => {
console.log(“Toot”);
};
هیچ دلیل عمیقی وجود ندارد که هم توابع فلش و هم عبارات تابع در زبان وجود داشته باشد. جدا از یک جزئیات جزئی که در فصل به آن خواهیم پرداخت
قوانین ارسال دیدگاه در سایت