بک لینک

JavaScript: توابع‌تان را انعطاف‌پذیر کنید(کنترل پارامترهای ورودی)

javascript1

یکی از راه‌ها داشتن اسکریپت های کاربردی که بتوان بارها و بارها از آن استفاده کرد، انعطاف پذیر کردن توابع‌مان هست. در این صورت تمایل پیدا میکنید که به دفعات زیاد از اسکریپتی که قبلا نوشتید، در پروژه هایتان استفاده کنید.

منظور از انعطاف پذیری توابع چیست؟

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

برای مثال به تابع زیر نگاه کنید.

همانطور که دیدید به تابع بالا یک سلکتور(string) میدهیم و سپس متن درون المنت مورد نظر را برمیگرداند. اگر قبلا یک المنت داشته باشیم که بخواهیم متن درون المنت را برای ما برگرداند و نخواهیم به آن یک سلکتور بدهیم با خطا مواجه خواهیم شد.

خب برای جلوگیری از خطا باید تابعمان را کمی هوشمند یا منعطف کنیم.

درکل در جاوا اسکریپت چند نوع داده داریم که عبارتند از:

  • undefined: هر متغیر و تابع تعریف نشده
  • boolean: مقدار های false و true
  • string: رشته های داخل کوتیشن و یا دابل کوتیشن
  • array: آرایه ها
  • number: اعداد
  • object: اشیاء
  • function: توابع

با استفاده از دستور typeof میتوان به نوع داده ها پی برد. همانطور که در کد بالا میبینید گفتیم اگر نوع پارامتر ورودی رشته(string) بود، با استفاده از متد querySelector المنت را بدست می‌آوریم و در غیر اینصورت باید پارامتر ورودی همان المنت باشد که دیگر نیازی به جستجوی المنت نیستیم.

برای تشخیص داده های فرستاده نشده به تابع هم از روش زیر استفاده میکنیم.

همونطور که دیدید ابتدا متن داخل المنت را درون یک متغیر ذخیره میکنیم. سپس تعیین میکنیم که اگر یک  callback به تابع فرستاده شده بود، آن متن را به callback میفرستیم وگرنه آن متن را log میکنیم.

تا اینجا در با نوع داده ها کار میکردیم و طبق نوع داده ی ورودی میفهمیدیم باید چکار کنیم، اما اگر تعداد نامعلومی پارامتر قرار باشد به تابع وارد شود آنگاه چطور انها را کنترل کنیم؟

متغیر arguments پارامتر های ورودی یک تابع را به صورت یک آرایه در بر دارد. و مثالی دیگر:

و در اینجا این مطلب به پایان میرسد. امیدوارم برایتان مفید بوده باشد.

 منبع:سون لرن

یک دیدگاه برای “JavaScript: توابع‌تان را انعطاف‌پذیر کنید(کنترل پارامترهای ورودی)

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

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