عدم تعیین تعداد آرگومان های (Argument) (ورودی های) یک تابع (Function) در هنگام تعریف آن، با شیء arguments ، در JavaScript
در کلید شماره 2685 ، چگونگی تعریف یک تابع (Function) جدید در زبان برنامه نویسی JavaScript را شرح دادیم. همان طور که در آن کلید آموزشی مشاهده کردید، در هنگام تعریف یک تابع (Function)، تعداد آرگومان های (Argument) (ورودی های) تابع را مشخص می نمودیم، اما گاهی پیش می آید که تعداد آرگومان های (Argument) (ورودی های) تابع، مشخص نیست و یا اینکه تعداد آنها زیاد است و ما به نحوی قصد داریم که آنها را در هنگام تعریف تابع (Function) ذکر نکنیم.
در این مواقع، می توانیم از شیء arguments استفاده نماییم، به این صورت که در هنگام تعریف تابع (Function) در پرانتز مربوط به ورودی تابع، هیچ آرگومانی (Argument) (ورودی) تعریف نمی شود، اما ورودی ها را با استفاده از شیء arguments در میان کدهای تابع (Function) خواهیم داشت (شیء arguments در تمام توابع، وجود دارد).
شیء arguments ، در واقع یک آرایه (Array) می باشد (یک شیء (Object) که به صورت آرایه (Array) است (array-like object)) ( کلید شماره 2401 ) و تمام ورودی هایی که در کدها برای تابع ذکر شده است (منظورمان کدی است که کاربر برای اجرای تابع نوشته و تعدادی ورودی برای تابع ذکر کرده است، نه کدهای تعریف تابع) در آن به صورت عنصرهای پی در پی در آرایه (Array) قرار می گیرد. بنابراین همان طور که ما به عنصرهای یک آرایه (Array) دسترسی داریم، می توانیم به ورودی های ذکر شده (توسط کاربر) برای تابع مورد نظر، دسترسی پیدا کنیم.
علاوه بر این، برای به دست آوردن تعداد ورودی های تابع، می توانیم از روش length استفاده کنیم. یعنی برای به دست آوردن تعداد ورودی های تابع (Function)، کد زیر را می نویسیم :
برای درک بهتر این موضوع، به مثال زیر توجه کنید :
یک تابع با نام kelidestan تعریف می کنیم که تمامی ورودی های خود را با استفاده از تابع document.write ، در خروجی صفحه HTML نمایش می دهد :
همان طور که در کد بالا مشاهده می کنید، هنگام تعریف تابع kelidestan ، هیچ آرگومانی (Argument) (ورودی) برای آن تعریف نکرده ایم :
و بعد هنگام استفاده از تابع kelidestan ، تعدادی ورودی برای آن تعیین نموده ایم :
در کدهای تابع، تعداد ورودی ها را با استفاده از arguments.length به دست آورده و سپس با یک حلقه for ، آنها را در خروجی صفحه HTML نمایش داده ایم :
استفاده از تگ br برای این است که هر ورودی تابع در یک خط جدید نمایش داده شود (در صفحه HTML).
در کد بالا، با استفاده از عبارت زیر، به تک تک عنصرهای موجود در arguments (که همان ورودی های تعیین شده برای استفاده از تابع است)، اشاره کرده ایم :