در این جلسه از آموزش جاوا اسکریپت قصد داریم کمی بیشتر درباره فانکشنها و توابع در این زبان برنامهنویسی صحبت کنیم و شما را بیشتر با این موضوع آشنا کنیم. بهطورکلی توابع شامل یکسری از دستورات هستند که ما آنها را تعریف میکنیم و آنها عملیاتهای خاصی را برای ما انجام میدهند و میتوانیم تنها با فراخوانی نام آنها چندین و چند بار از آنها استفاده کنیم. استفاده از آنها در برنامهنویسی جاوا اسکریپت از اهمیت زیادی برخوردار است و به همین علت است که ما در این جلسه از آموزش جاوا اسکریپت رایگان قصد داریم درباره آنها صحبت کنیم.
named functionها
آشنایی با named functionها در جاوا اسکریپت
برای شروع کار با توابع در این جلسه از آموزش جاوا اسکریپت اجازه دهید تا فایلی که در بخشهای قبلی ایجاد کردهایم را پاککرده و سپس کدهای خود را بنویسیم. زمانی که قصد تعریف یک تابع در زبان برنامهنویسی جاوا اسکریپت را دارید باید از کلمه کلیدی function استفاده کنید. با استفاده از این کلمه کلیدی در واقع شما ساختار تابع خود را ایجاد میکنید و به کامپایلر زبان جاوا اسکریپت میفهمانید که قصد تعریفکردن یک تابع جدید را دارید. در ادامه شما باید نام تابع خود را بنویسید. البته این به شرطی است که شما قصد داشته باشید یک named function بنویسید. پیش از آن که بخواهیم درباره ادامه ساختار یک تابع صحبت کنیم اجازه دهید تا نکتهای را در خصوص فانکشنها یا توابع در جاوا اسکریپت بیان کنیم که در آموزش جاوا اسکریپت به زبان ساده حتما باید درباره این نکته اطلاع داشته باشید.
بهطورکلی ما در این زبان برنامهنویسی انواع تابع یا فانکشن را داریم که از جمله آنها میتوان به named functionها، Anonymous functionها و immediately invoked functionها اشاره کرد. در این جلسه از آموزش javascript درباره named functionها یا توابع نامگذاری شده صحبت خواهیم کرد و درباره سایر انواع توابع نیز در بخشهای بعدی صحبت خواهیم کرد.
named functionها توابعی هستند که نامگذاری شدهاند و با استفاده از یک نام ما میتوانیم به آنها اشاره کرده و آنها را فراخوانی کنیم. Anonymous functionها توابعی هستند که نامی ندارند، در واقع ما در زمان تعریف آنها نامی را برایشان در نظر نمیگیریم. برای فراخوانی آنها ما این توابع را داخل یک متغیر قرار داده و در زمان فراخوانی از آن متغیر استفاده میکنیم. immediately invoked functionها همانطور که از نامشان پیداست توابعی هستند که همان لحظهای که کدهای مربوط به آنها در مرورگر اجرا میشود و کامپایلر به خطوط مربوط به آنها میرسد اجرا میشوند.
تعریف تابع
تعریف تابع در زبان برنامهنویسی جاوا اسکریپت
برای شروع کار با توابع named در این جلسه از آموزش جاوا اسکریپت اجازه دهید کار خود را با قطعه کد زیر آغاز کنیم:
function findBiggestFraction (){
console.log(“the function is running!”);
}
اگر قطعه کد بالا را اجرا کنید مشاهده میکنید که چیزی برای شما چاپ نمیشود. در واقع دستورات تابع شما اجرا نشده است و دلیل این موضوع نیز این است که شما تابع خود را تعریف کردهاید ولی آنها را فراخوانی نکردهاید. فراموش نکنید که named functionها توابعی هستند که در زمان تعریف شدن اجرا نمیشوند و تنها زمانی اجرا میشوند که شما آنها را فراخوانی کنید. حال اگر بخواهیم از این تابع استفاده کنیم باید آن را فراخوانی کنیم که این کار به شکل زیر انجام میشود:
function findBiggestFraction (){
console.log(“the function is running!”);
}
findBiggestFraction();
با اجرای قطعه کد بالا خروجی شما به شکل the function is running! خواهد بود که این یعنی تابع شما و دستورات داخل آن اجرا شدهاند.
تکمیل تابع
تکمیل تابع findBiggestFraction
در بخش قبلی تابع ساختار تابع findBiggestFraction را تعریف کردیم و آن را اجرا کردیم تا با نحوه فراخوانی named functionها در جاوا اسکریپت آشنا شویم. حال در این بخش از آموزش جاوا اسکریپت قصد داریم این تابع را تکمیل کرده و عملیات خاصی را برای آن تعریف کنیم. برای انجام این کار در آموزش javascript قطعه کد زیر را در نظر بگیرید:
function findBiggestFraction (){
a>b ? console.log(“ a:” + a) : console.log(“b: “ + b);
}
var a = 3/4 ;
var b = 5/7 ;
findBiggestFraction();
قطعه کد بالا در واقع بررسی میکند که از بین متغیرهای a و b کدامیک بزرگتر هستند و سپس عدد بزرگتر را چاپ میکند. با اجرا گرفتن از قطعه کد بالا مشاهده میکنید که عدد 0.75 که برابر 3/4 است برای شما چاپ میشود. دقت داشته باشید که در قطعه کد بالا ابتدا متغیرها توسط جاوا اسکریپت شناخته میشوند و سپس تابع findBiggestFraction() فراخوانی میشود. اگر ابتدا تابع findBiggestFraction() را فراخوانی کرده و سپس متغیرهای a و b را تعریف کنیم با خطا مواجه خواهیم شد؛ بنابراین آشنایی با ساختار تفسیر کدهای جاوا اسکریپت در آموزش javascript رایگان از اهمیت زیادی برخوردار است.
دقت داشته باشید که این سبک از برنامهنویسی سبک اشتباهی است. منظور از این سبک این است که شما دو متغیر را تعریف کنید و سپس از جاوا اسکریپت بخواهید که خودش آنها را پیدا کرده و درون تابعی که تعریف کردهاید به آنها دسترسی پیدا کند. راهکار بهتر و اصولیتر این است که شما به تابع خود مقادیر ورودی دهید و با استفاده از این ورودیها تابع خود را اجرا کنید؛ بنابراین برای تابع خود دو ورودی a و b تعریف میکنیم که کدهای داخل تابع از این دو ورودی برای انجام محاسبات خود استفاده میکنند. در زمان فراخوانی تابع نیز دو مقدار a و b که تعریف کردهایم را بهعنوان ورودی به تابع خود میدهیم. برای انجام این کار قطعه کد زیر را در نظر بگیرید:
function findBiggestFraction (a, b){
a>b ? console.log(“ a:” + a) : console.log(“b: “ + b);
}
var firstFraction = 3/4 ;
var secondFraction = 5/7 ;
findBiggestFraction(firstFraction, secondFraction);
حال اگر این قطعه کد را اجرا کنید مشاهده میکنید که مجددا مقدار 3/4 برای شما چاپ میشود. اینگونه کدنویسی باعث کدنویسی تمیز میشود و جز اصول کدنویسی تمیز است که ما در این دوره از آموزش جاوا اسکریپت پروژه محور قصد داریم تا نحوه کدنویسی تمیز را نیز به شما آموزش دهیم. ما میتوانیم تابع findBiggestFraction را با هر دو ورودی دیگری نیز فراخوانی کنیم و بزرگترین کسر از میان دو کسر داده شده را مشخص کنیم. بهعنوان یک مثال دیگر میتوانیم به شکل زیر آن را فراخوانی کنیم:
findBiggestFraction(7/16, 13/25);
با اجرای این کد مشاهده میکنید که مقدار 0.52 برای شما چاپ میشود که نشاندهنده این است که عدد 13/25 بزرگتر از عدد 7/16 میباشد.
قسمت قبلی آموزش رایگان جاوا اسکریپت:
بررسی حالت ها و شروط زیاد در if و else
قسمت بعدی آموزش رایگان جاوا اسکریپت:
یا جهت مشاهده ویدیوهای اموزشی آموزش رایگان جاوا اسکریپت وارد این صفحه شوید