آدرس : تهران میدان فردوسی خیابان ایرانشهر بین سمیه و طالقانی مجتمع تجاری میلاد واحد 9

پشتیبانی 24 ساعته : 02188867940 – 09927674217

برای مشاهده لیست علاقه مندی ها وارد شوید!

مشاهده محصولات فروشگاه
0

هیچ محصولی در سبد خرید نیست.

جاوا اسکریپت خوش زبان قسمت بیست و چهارم

دسته بندی :دسته‌بندی نشده 24 جولای 2023 علی هشترودی 171

مثال قبلی را به راهی برای ایجاد تبدیل کنیم
توابعی که در مقدار دلخواه ضرب می شوند.
ضریب تابع (ضریب) {
شماره بازگشت => عدد * فاکتور;
}
let double = ضرب (2);
console.log(twice(5));
// → 10
اتصال محلی صریح از مثال wrapValue واقعاً مورد نیاز نیست
از آنجایی که یک پارامتر خود یک اتصال محلی است.
فکر کردن در مورد برنامه هایی مانند این نیاز به تمرین دارد. یک مدل ذهنی خوب
این است که مقادیر توابع را به عنوان حاوی کد موجود در بدنه خود و هم در نظر بگیریم
محیطی که در آن ایجاد می شوند. هنگام فراخوانی، بدن تابع می بیند
محیطی که در آن ایجاد شده است، نه محیطی که در آن است
تماس گرفت.
در مثال، ضریب فراخوانی می شود و محیطی را ایجاد می کند که در آن است
پارامتر factor به 2 محدود می شود. مقدار تابعی که برمی گرداند و ذخیره می شود
در دو بار، این محیط را به یاد می آورد. بنابراین وقتی که نامیده می شود، آن را ضرب می کند
استدلال توسط 2.

بازگشت

تا زمانی که یک تابع خود را فراخوانی نکند، کاملاً اشکالی ندارد
اغلب که از پشته سرریز می شود. تابعی که خود را فراخوانی می کند بازگشتی نامیده می شود.
بازگشت به برخی از توابع اجازه می دهد تا به سبک متفاوت نوشته شوند. را برای
به عنوان مثال، این اجرای جایگزین قدرت:
توان تابع (پایه، توان) {
اگر (نما == 0) {
بازگشت 1;
}دیگر {
پایه بازگشتی * توان (پایه، توان – 1)؛
}
}
console.log(power(2, 3));
// → 8
این بسیار نزدیک به روشی است که ریاضیدانان قدرت و توان را تعریف می کنند
مسلماً مفهوم را واضح تر از نوع حلقه توصیف می کند. این
تابع چندین بار خود را با توانای کوچکتر فراخوانی می کند تا به آن برسد

ضرب مکرر

اما این پیاده سازی یک مشکل دارد: در پیاده سازی های معمولی جاوا اسکریپت، تقریباً سه برابر کندتر از نسخه حلقه است. گذر از میان
یک حلقه ساده معمولاً ارزانتر از چند بار فراخوانی یک تابع است.
معضل سرعت در مقابل ظرافت موضوع جالبی است. شما می توانید آن را به عنوان
نوعی تداوم بین انسان دوستی و دوستی با ماشین. تقریباً هر برنامه ای را می توان با بزرگتر و پیچیده تر ساختن آن سریعتر ساخت.
برنامه نویس باید در مورد تعادل مناسب تصمیم بگیرد.
در مورد تابع قدرت، نسخه بی‌ظرافت (حلقه‌ای) هنوز نسبتاً مناسب است
ساده و خواندنی جایگزین کردن آن با آن چندان منطقی نیست
نسخه بازگشتی با این حال، اغلب یک برنامه با چنین مفاهیم پیچیده ای سروکار دارد
اینکه دست از کارایی برای ساده تر کردن برنامه مفید است.
نگرانی در مورد کارایی می تواند باعث حواس پرتی شود. این یک عامل دیگر است که
طراحی برنامه را پیچیده می کند، و زمانی که شما در حال انجام کاری هستید که قبلاً انجام شده است
مشکل است، آن چیز اضافی برای نگرانی می تواند فلج کننده باشد.
بنابراین، همیشه با نوشتن چیزی که درست و قابل درک است شروع کنید. اگر نگران این هستید که خیلی کند است – که معمولاً از آن زمان اینطور نیست
اکثر کدها به سادگی به اندازه کافی اجرا نمی شوند که مقدار قابل توجهی مصرف کنند
زمان – می توانید بعد از آن اندازه گیری کنید و در صورت لزوم آن را بهبود بخشید.
49

علی هشترودی

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

مطالب زیر را حتما بخوانید:

قوانین ارسال دیدگاه در سایت

  • چنانچه دیدگاهی توهین آمیز باشد تایید نخواهد شد.
  • چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد.
  • چنانچه از لینک سایر وبسایت ها و یا وبسایت خود در دیدگاه استفاده کرده باشید تایید نخواهد شد.
  • چنانچه در دیدگاه خود از شماره تماس، ایمیل و آیدی تلگرام استفاده کرده باشید تایید نخواهد شد.
  • چنانچه دیدگاهی بی ارتباط با موضوع آموزش مطرح شود تایید نخواهد شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

لینک کوتاه:
0