14) آموزش توابع در جاوااسکریپت (Functions)
آموزش رایگان جاوااسکریپت
توابع در جاوااسکریپت بلوک هایی از کد هستن که برای انجام عمل خاصی نوشته میشن. در واقع دستوراتی که لازم داریم هر بار اجرا بشه رو به صورت یک تابع یا Function مینویسیم و براش یه اسم انتخاب میکنیم؛ هر موقع نیاز به اجرای اون چند خط کد باشه فقط کافیه اسم اون تابع یا Function در جاوااسکریپت رو صدا کنیم.
دوره مرتبط و تکمیلی: آموزش کامل توابع در جاوااسکریپت (Functions)
دوره کامل آموزش Functions در جاوااسکریپت به همراه کلی مثال کاربردی برای یادگیری عمیق جاوااسکریپت
تعریف توابع در جاوااسکریپت
برای تعریف تابع در جاوااسکریپت از کلمه کلیدی function استفاده میکنیم و بعدش اسم دلخواه برای تابع مینویسیم و داخل پرانتز پارامتر ها رو مینویسیم. قواعد نام گذاری برای توابع دقیقا مثل قواعد نام گذاری برای متغیرها هست که در جلسه چهارم کامل بررسی کردیم،( حروف، اعداد، علامت دلار و آندرلاین مجاز است)
جلسه مرتبط: متغیرها در جاوااسکریپت
اگر تابع ما چند تا پارامتر داشته باشه با علامت کاما (,) از هم جدا میشه؛ سینتکس کلی توابع در جاوااسکریپت به صورت زیر است:
function name(parameter1, parameter2, parameter3) { // code to be executed }
پارامترهای داخل پرانتز موقع تعریف تابع همون آرگومان هایی هستند که موقع فراخونی تابع به عنوان متغیر نوشته میشن. برای درک بهتر یه مثال میزنم.
function sum(a, b) { return a + b ; }
با نوشتن تابع بالا، هر جا لازم باشه 2 تا عدد با هم جمع بشن فقط کافیه اسم تابع نوشته بشه و به جای a و b دو عدد دلخواه رو بذاریم.
sum(5, 6); // output: 11
پس هر کجا بخوایم 2تا عدد جمع بشن تابع Sum رو مینویسیم و داخلش 2 عدد قرار میدیم. خب این شد یه دید اجمالی نسبت به توابع. اما توابع خیلی گسترده تر و مهم تر از جمع کردن دو تا عدد هستن.
فراخوانی توابع در جاوااسکریپت
کدهای داخل توابع زمانی اجرا میشن که اون تابع فراخونی بشه. که معمولا در سه حالت این اتفاق میوفته.
- زمانی که کاربر دکمه ای رو کلیک کنه
- زمانی که اسم تابع در کدهای جاوااسکریپت آورده بشه
- به صورت اتوماتیک
در جلسات آینده مخصوصا داخل دوره پروژه محور بیشتر با توابع آشنا میشیم و حالت های مختلف توابع رو در جاو اسکریپت پیاده سازی میکنیم.
برای فراخوانی یک تابع یا Function لازمه که اسم تابع به همراه () بیاد. در واقع پرانتز باز و بسته () ، عمل فراخونی و اجرای کدهای یک تابع رو انجام میده.
دستور return در تابع
اگر تابع داخل کدهای جاوااسکریپت فراخونی بشه پس لازمه که پس از انجام مراحل تابع، یک خروجی و یک نتیجه برای ما برگشت داده بشه. مثلا قراره 2 تا عدد از کاربر گرفته بشه، در هم ضرب بشه و جواب نهایی برای ما به اصطلاح برگشت داده بشه یا return بشه.
var x = myFunction(5, 4); // Function is called, return value will end up in x function myFunction(a, b) { return a * b; // Function returns the product of a and b } // output: x = 20
پس برای اینکه مقدار تابع بعد از محاسبه به X نسبت داده بشه؛ لازمه از دستور return استفاده کنیم.
چرا باید از توابع استفاده کنیم؟
توابع در واقع مثل فرمول عمل میکنن، همونطور که یک فرمول ساده رو یکبار مینویسیم و با قراردادن مقدار های مختلف بجای پارامتر ها، خروجی مد نظرو میگیریم. توابع هم دقیقا این کارو میکنن و در کد نویسی ما صرفه جویی میکنن؛ هم از لحاظ زمانی هم از لحاظ حجم کد.
استفاده از توابع در مقادیر متغیر
حتی میتونید برای محاسبه یا فرمول یا هر چیز دیگه ای از توابع استفاده کنید و اون رو به یک متغیر نسبت بدید.
function toCelsius(fahrenheit) { return (5/9) * (fahrenheit-32); } var text = "The temperature is " + toCelsius(77) + " Celsius";
متغیر محلی در توابع
دقت کنید که متغیر هایی که داخل توابع تعریف میشن، فقط و فقط داخل تابع اعتبار دارن و خارج از اون نمیتونید از اون مقدار استفاده کنید و دوباره باید متغیر تعریف کنید.
// code here can NOT use carName function myFunction() { var carName = "Volvo"; // code here CAN use carName } // code here can NOT use carName
توابع در جاوااسکریپت از اهمیت بالایی برخوردارند و به برنامهنویسان این امکان را میدهند که کدهای خود را سازماندهی کنند و از تکرار کد جلوگیری کنند. با تعریف توابع، میتوانیم عملیاتهای مختلف را بارها و بارها بدون نیاز به نوشتن مجدد کدها انجام دهیم. این مفاهیم را میتوانیم در پروژههای بزرگتر و پیچیدهتر بکار بگیریم و کدهایی خواناتر و نگهداریپذیرتر بنویسیم. امیدوارم این مقاله شما را با اصول اولیه و کاربردهای توابع در جاوااسکریپت آشنا کرده باشد. در جلسات آینده، به بررسی بیشتر و عمیقتر توابع و کاربردهای پیشرفتهتر آنها خواهیم پرداخت.
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : ندارد گزارش خرابی لینک
مطالب زیر را حتما مطالعه کنید
10 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
چرا باید بعضی توابع قبل از تعریف در جاوا اسکریپت فراخوانی شوند؟
مثلا بعضی توابع که return ندارن و ما میایم و قبل از تعریف همون تابع- توی کد های جاوااسکریپت – یک بار تابع رو invoke میکنیم؟؟؟
من ميخوام يه منوي كشويي داشته باشم كه با انتخاب نام يا عدد در صفحه براي من هر دفعه يه جدول ظاهر بشه چطور با اريي و جاوا اسكريپت ميتونم درستش كنم
من ميخوام يه منوي كشويي داشته باشم كه با انتخاب نام يا عدد در صفحه براي من هر دفعه يه جدول ظاهر بشه چطور با اريي و جاوا اسكريپت ميتونم درستش كنم راستي 8 در ايملم به انگليسيه اينجا فارسي تايپ ميشه
خیلی ممنون بابت اطلاعات دقیقی که میدید و حوصله زیادی که به خرج دادید.
موفق باشید.
سلام
ببخشید متود های شی ها رو توی جلسه قبل اشاره نکردید و رد شدید، آیا متودی هست که لازم باشه یاد بگیریم؟
سلام و درود. اشیا متد خاصی ندارند اما موارد لازم و تکمیلی در دوره آموزش کامل اشیا آمده.
https://megajs.com/shop/deep-learn/js/objects/
سلام خسته نباشید اموزششتون عالی بود.فقط یه سوال درباره Visual Studio Code که از چه کد ادیتوری استفاده میکنید که خودش بقیه دستوری که شما دارید مینویسید رو براتون میاره
سلام و درود.
لطفا تمام پلاگین های معرفی شده در جلسه دوم رو نصب کنید
من یه سری از مطالب رو که سرچ میکنم فیلم های اموزشیتون نمیاد بالا برام باید چیز خاضی با آدرس خاصی رو سرچ کنم؟
و اینکه شما کلاس های اموزشی هم دارید؟
ببخشید من متوجه منظورتون از اینکه فیلم بالا نمیاد رو نفهمیدم.
و اینکه من کلاس حضوری ندارم فعلا.