به نام خدا با سلام خدمت کد ایتی های عزیز در ادامه سری مقالات اموزشی جاوا اسکریپت این جلسه به Anonymous function در جاوا اسکریپت يا همان توابع ناشناس خواهيم پرداخت با ما همراه باشید.
مقدمه اي بر Anonymous function يا توابع ناشناس در جاوا اسکريپت
تابع ناشناس ( anonymous function) تابعی بدون نام است. شکل زیر نحوه تعریف یک تابع ناشناس را نشان می دهد:
1 2 3 |
(function () { //... }); |
توجه داشته باشید که اگر تابع ناشناس را در داخل پرانتز () قرار ندهید، با یک خطای نحوی مواجه خواهید شد. پرانتز () تابع ناشناس را به عبارتی تبدیل می کند که یک شی تابع را برمی گرداند.
یک تابع ناشناس پس از ایجاد اولیه در دسترس نیست. بنابراین، شما اغلب نیاز دارید که آن را به یک متغیر اختصاص دهید.
به عنوان مثال، شکل زیر یک تابع ناشناس را نشان می دهد که پیامی را نمایش می دهد:
1 2 3 4 5 |
let show = function() { console.log('Anonymous function'); }; show(); |
در این مثال، تابع ناشناس (anonymous function) بین کلمه کلیدی تابع و پرانتز () نامی ندارد.
چون بعدا باید تابع ناشناس را فراخوانی کنیم، تابع ناشناس را به متغیر show نسبت می دهیم.

Anonymous function در جاوا اسکریپت
مطالب پیشنهادی :نحوی مدیریت null در کاتلین به چه صورتی میباشد | آموزش مقدماتی کاتلین | درس دهم
در عمل، اغلب توابع ناشناس را به عنوان آرگومان به توابع دیگر ارسال می کنید. مثلا:
1 2 3 |
setTimeout(function() { console.log('Execute later after 1 second') }, 1000); |
در این مثال، یک تابع ناشناس را به تابع ()setTimeout ارسال می کنیم. تابع ()setTimeout این تابع ناشناس را یک ثانیه بعد اجرا می کند.
اجرای تابع بلافاصله از فراخوانی
اگر می خواهید یک تابع بسازید و بلافاصله پس از اعلان اجرا کنید، می توانید یک تابع ناشناس را مانند این تعریف کنید:
1 2 3 |
(function() { console.log('IIFE'); })(); |
خروجي:
1 |
IIFE |
نحوه کارکرد؟
ابتدا یک عبارت تابع را تعریف کنید:
1 2 3 |
(function () { console.log('Immediately invoked function execution'); }) |
این عبارت یک تابع را برمی گرداند.
1 2 3 |
(function () { console.log('Immediately invoked function execution'); })(); |
گاهی اوقات، ممکن است بخواهید آرگومان ها را به یک تابع ناشناس منتقل کنید، مانند :
1 2 3 4 5 6 7 8 |
let person = { firstName: 'John', lastName: 'Doe' }; (function () { console.log(person.firstName + ' ' + person.lastName); })(person); |
خروجي:
1 |
John Doe |
خب دوستان عزيز به پايان جلسه Anonymous function در جاوا اسکریپت يا همان توابع ناشناس رسيديم اميدواريم اين مقاله مورد توجه شما قرار گرفته باشد.
دیدگاهتان را بنویسید