اینجا قراره کلی اطلاعات مفید و باحال یاد بگیریم:)
functions در جاوا اسکریپت
سلام سلام ما هپی لرن هستیم و شما دارید دومین پستمون رو از سایت ویرگول میخونید. ?
خوش اومدید به اولین پست آموزشی هپی لرن :)
تو این پست قراره یکی از سوال هایی که تو مصاحبه ها از افراد پرسیده میشه رو باهم بررسی کنیم
پس ،بزن بریم?
توابع در جاوا اسکریپت با کلیدواژه ی function تعریف میشن و دو نوع اصلی دارن:
Function Declaration
Function Expression
حالا بیاید دربارشون بیشتر بحث کنیم.!
Function declaration
کلا توابع با ساختار زیر تعریف میشن:
function functionName(parameters) {
// کد های مورد نظر شما برای اجرا در تابع}
این دسته از توابع به صورت خودکار اجرا نمیشن.
بلکه باید اون هارو فراخوانی کنیم (همون صدا زدن خودمون) که انگلیسی ها بهش میگنinvoke کردن.
ینی چجوری؟
اینطوری :)
const x = myFunction(4, 3);
بریم سراغ نوع بعدی تعریف کردن توابع
Function Expression
یه راه دیگه برا تعریف توابع در جاوا اسکریپت، تعریف کردن اون ها از طریق expretion هست.یعنی این دسته از توابع تو یه متغیر ذخیره میشن .
const functionName = function (parameters){
// کد های مورد نظر شما برای اجرا در تابع};
حالا خروجی این ها رو چطوری میبینیم؟
اینطوری
Myfunction(4,3);
❗راسی یه نکته بتون بگم
وقتی اینطوری توابع رو تعریف میکنید، باید اول تابع تعریف بشه و بعد زیر اون، از تابع استفاده کنید!!( مبحث hoisting که شاید بعدا مفصل تر براتون بگیم)
Arrow Function
این دسته از توابع تازگیا به جاوا اسکریپت اضافه شدن و به ما کمک میکنند تا توابع رو به صورت خلاصه تری تعریف کنیم
const functionName = (parameters) => {
// کد های مورد نظر شما برای اجرا در تابع};
خب بریم سراغ روش بعدی تعریف توابع که اسمش هست
Self-Invoking
یعنی خودشون، خودشون رو فراخوانی میکنند و نیازی به صدا زده شدن و فراخوانی جداگانه نداشته باشن
چطوری؟
اینطوری:
(function () {
// کد های مورد نظر شما برای اجرا در تابع;
})();
واما اخرین نوع از تعریف کردن توابع که باهم اینجا بررسی میکنم:
Function() Constructor
توی این روش از Constructor استفاده میکنیم.
ینی چطوری؟
بزار با مثال بگیم این یکیو
const myFunction = new Function("x", "y", "return x + y");
خب مطلب ما به سر رسید ،هپی لرن به آخر نرسید?
منتظر نظرات و پیشنهادات شما هستیم،شما هم منتظر پست های بعدی ما باشید?
مطلبی دیگر از این انتشارات
کامپایل و حفاظت از پایتون؛ Cython
مطلبی دیگر از این انتشارات
آموزش پایتون
مطلبی دیگر از این انتشارات
**الگوریتم جستجوی خطی** چیست