function در جاوا اسکریپت

در برنامه‌نویسی تابع ها و یا functionها به قطعات کوچکی از کد گفته می‌شوند که به صورت مجزا در برنامه ما نوشته می‌شوند و ما می‌توانیم هر زمان به آن قطعه از کد نیاز داشتیم آنها را فراخوانی کنیم.هر function از سه جز تشکیل شده است.

  1. ورودی
  2. کدهای function
  3. خروجی

کد بالا یک function بسیار ساده را نشان می‌دهد.در این function یک ورودی به اسم name وجود دارد.کد داخل function ورودی دریافتی را +  عبارت ‘Hi’ می‌کند و آن را به عنوان خروجی باز‌ می‌گرداند.

برای اجرای کد داخل تابع باید آن را صدا زد که برای صدا زدن باید از نام تابع + ورودی ها استفاده کرد:greetUser(“Shahrooz”);

همچنین اگر به خط ۵ توجه کنید function  صدا زده شده و خروجی آن در متغیر greetString ریخته شده است.

نکته:یک function می‌تواند ورودی و خروجی نداشته باشد:

function بالا نه ورودی دارد و نه خروجی و اگر کد بالا را به وسیله node اجرا کنید سه بار عبارت Hi  روی صفحه چاپ خواهد شد.

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

برای دیدن جواب روی این لینک کلیک کنید.

در قسمت قبل کدی را برای تبدیل درجه فارنهایت به سلسیوس نوشتیم که اگر آن را بخواهیم با function باز نویسی کنیم به شکل زیر خواهد شد:

fahrenheit-convertor.js

null و undefined

دو نوع مهم دیگری که در جاوا اسکریپت وجود دارد و نیاز هست که با آنها آشنا باشید null و undefined است. هر دو این انواع مشخص کننده عدم مقدار داشتن یک متغیر هستند.

اگر کد زیر به کد زیر دقت کنید:

متوجه خواهید شد که متغیر name بدون اینکه مقدار دهی شده باشد تعریف شده.در این صورت اگر برنامه را اجرا کنیم با خروجی زیر مواجه خواهیم شد.undefined-null

در جاوا اسکریپت اگر یک متغیر تعریف کنیم ولی برای آن مقداری در نظر نگیریم مقدار آن undefined است.

اگر بخواهیم مقدار یک متغیر را ریست کنیم می‌توانیم از undefined استفاده کنیم.

خروجی کد بالا به شکل زیر خواهد بود:

reset-value-undefined

مقدار دیگری که می‌توان برای ریست کردن مقدار یک متغیر استفاده کرد null هست.به این معنی که متغیر ما مقداری در حال حاضر ندارد.

functionها قابلیت دریافت چند ورودی را نیز دارند:

در کد بالا تابع sum سه ورودی دریافت می‌کند و آنها را باهم جمع می‌کنند و خروجی را به بیرون برمی‌گردانند.

مقدار پیش فرض برای ورودی ها

مثال بالا تابعی را نشان می‌دهد که سه ورودی را دریافت می‌کند.اگر دقت کنید طرز تعریف ورودی ها با توابع قبلی متفاوت است و جلوی هر ورودی یک مساوی و یک عدد وجود دارد.این به این معنی است که در صورتیکه تابع ما sum صدا زده شود و به جای هر کدام از ورودی ها مقداری پاس داده نشود به عنوان پیش فرض جاوا اسکریپت مقدار یک را برای آن ورودی در نظر خواهد گرفت.بنابراین کد بالا مقدار سه را چاپ خواهد کرد.

محدوده دسترسی متغیرها در توابع

در قسمت قبلی در رابطه با محدوده متغیرها صحبت کردیم.متغیرهایی که در توابع تعریف می‌شوند چه به عنوان پارامترهای ورودی و چه داخل بلاک یک تابع به صورت local و یا محلی قابل دسترسی هستند به عبارتی خارج از بلاک به آنها دسترسی نداریم.

برای مشاهده ادامه این دوره اینجا کلیک کنید.

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

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.