دوره مجازی جاوااسکریپت (جلسه 7): تعریف توابع دلخواه در جاوااسکریپت، نکات و ترفندها

دسته بندی: جاوا اسکریپت
زمان مطالعه: ۲ دقیقه
۰۵ خرداد ۱۳۹۴

در جلسه امروز به بحث توابع خواهیم پرداخت و آموزش می دیم که به چه شکلی باید توابع دلخواه رو در جاوااسکریپت تعریف و ازشون استفاده کرد . در جاوااسکریپت برای تعریف توابع و استفاده از اونها روش های مختلفی وجود داره و ویژگی های خیلی منحصر فه فردی هم در این زبان وجود داره که امروز در موردش صحبت میکنیم .

مطالب مطرح شده در این جلسه عبارتند از :

  • بحث در مورد عدم امکان تعریف دو تابع و نام های یکسان
  • متد های شی window و عدم نیاز به نام بردن خود شئ window برای استفاده از آن ها
  • رفع مشکل تابع print استفاده شده در جلسات گذشته
  • آشنایی با قابلیت refactor و تغیر نام سراسری متغیر ها و توابع در کل پروژه درون phpStorm
  • بیان نحوه برنامه نویسی بدون توابع و مشکلات عمده آن با ذکر مثال
  • مزیت های عمده استفاده از توابع در برنامه نویسی و ایجاد نظم و تقسیم بندی وظایف در کدها
  • نحوه تعریف تابع به صورت Function Declarations
  • ذکر نکات مهم در مورد توابع و قابلیت رفتار با آنها به صورت متغیر
  • Function Hoisting در جاوااسکریت و به بالا آوردن خودکار تعریف توابع
  • نحوه تعریف تابع به شکل Function Expressions
  • توابع ناشناس (anonymous functions) در جاوااسکریپت
  • توابع خود صدا زننده (Self-Invoking Functions)
  • صحبت در مورد پارامترهای توابع
  • نحوه انتساب مقدار پیشفرض برای پارامترها
  • نحوه دریافت تعداد مختفی از پارامترها در یک تابع و مدیریت و استفاده از پارامترها
  • توابع بازگشتی و نحوه کار آن ها
  • ذکر مثالی از پیاده سازی یک تابع به شکل بازگشتی
  • تمرین : ایجاد تغیر در تابع print پیشفرض جاوااسکریپت و کسب اجازه از کاربر برای چاپ صفحه
  • تمرین : تغیر تابع nicePrint برای چاپ همه نوع داده با قابلیت دریافت تعداد مختلفی از پارامترها
  • تمرین : نوشتن تابع به توان رساندن با استفاده از روش بازگشتی
  • تمرین : تفاوت بین call by reference و call by value در پاس دادن پارامترهای تابع؟
  • پاسخ تمرین ها در جلسه 9 دوره داده شده است!
:: توجه

این مطلب یک جلسه از آموزش javascript می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش javascript

نویسنده
بیش از 15 سال هست که برنامه نویسی می کنم و از بین همه زبون هایی که کار کردم جاوا، اسمبلی و php رو دوست دارم. دانشجوی دکترای نرم افزارم و توی دانشگاه روی پردازش بیگ دیتا و پردازش موازی کار کردم و عاشق چالش از هر نوعیش هستم! سون لرن مثل بچه منه که 12 سال براش وقت گذاشتم، اینجا همه تلاش می کنیم از شروع یادگیری تا ورود به بازر کار حوزه برنامه نویسی و IT همراهتون باشیم.

جلسات دوره

نظرات کاربران

alireza fatehi

سلام و عرض ادب خدمت استاد گرامی
وقتی یک ابجکت تعریف میکنیم با استفاده از toString() نحوه تعریف اون آبجکت را میتوانیم ببینیم .
مثلا:
function arrSum(arr) {
var i , sum = 0;
for(i = 0 ; i < arr.length ; i++){
sum += arr[i];
}
return sum;
}
document.write(arrSum.toString());

ایا این امکان وجود دارد که اشیا پیش ساخته مثل Date هم نحوه تعریف اونو هم ببینیم به چه شکل درون جاوااسکریپت نوشته شده .

ممنون از لطف شما

سهیل بشردوست

درود، تمرین ها خیلی خوب بودن و فکر می کنم در سطح متوسط بودند، البته به جز تمرین آخر که در حقیقت تحقیق بود

hashem

خیلی مخلصیم استاد ، ارادتمند شماییم ، این جلسه چقدر سخت بود ، بازدهیم کم بود نمیدونم چرا؟ باید چند جا دیگه بگردم دنبال این توابع ،
استاد خیلی ببخشید یک سوال داشتم ؟ دوره طراحی وب ساده تر بود که من راحتتر یاد می گرفتم یا شما اون دوره رو بهتر برگزار کردید ؟
بازهم دم شما گرم ،خیلی ممنون از شما با سایت خوبی که دارید انشاالله که سایتتون متشکل از تیم قدرتمندی بشه که تمام اساتید خبره ای مثل خودتون جمع بشن و هر آموزشی رو که ما می خوایم فقط به سایت شما رحوع کنیم

Pezhman Heidary

با سلام و خسته نباشید خدمت شما،،،ما از چه سایتی و منبعی میتونیم درمورد این تمرینات اطلاعات کسب کنیم،مثلا تمرین اخر جلسه هفتم،درموردر …call value,پیدا کردنش برای من غیر ممکن بود مگر از سایت های خارجی که متاسفانه اصلا متوجه نمیشم!ویا تمرین توان ب صورت تابع بازگشتی،اگه ممکنه یه منبع معرفی کنید که ما بتونیم ازش کمک بگیریم،استاد.

لقمان آوند

حقیقتا این موارد خاص رو باید سرچ کنید. شاید نشه یه منبع خاص برای این موارد معرفی کرد.

پایان زمان پشتیبانی

دانشجوی گرامی، بازه پشتیبانی فعال برای این دوره ۳ ماه است که برای شما به پایان رسیده است.

شما هم چنان می توانید سوالات خود را در این قسمت بپرسید اما اولویت پاسخ گویی با دانشجویانی است که بازه پشتیبانی فعال دارند.

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
گزارش مشکل