پارامترهای توابع JavaScript
- صفحه قبلی تعریف JS به کار
- صفحه بعدی دعوت از JS به کار
جاوااسکریپت توابعبررسی هیچ چیز در مورد مقادیر پارامترها نمیکنند.
پارامترهای توابع
در زمانهای زودتر در این آموزش، شما یاد گرفتید که توابع میتوانندپارامتر:
functionName(parameter1, parameter2, parameter3) { کدی که باید اجرا شود }
پارامترهای توابع (parameter)به معنای پارامترهایی است که در تعریف توابع لیست شدهاندنام.
پارامترهای توابع (argument)به معنای واقعی پارامترهایی است که به توابع ارسال میشوند یا توسط توابع دریافت میشوندارزشها.
قوانین پارامتر
تعریف توابع جاوااسکریپت نوع دادهای برای پارامترها (parameter) را مشخص نمیکنند.
توابع جاوااسکریپت از نوع پارامترهای ارسالی (argument) نوعچک نمیکنند.
توابع جاوااسکریپت تعداد پارامترهای دریافت شده را بررسی نمیکنند.
پارامترهای پیشفرض
اگر در هنگام فراخوانی پارامترهاپارامترهای حذف شدهاگر (کمتر از تعداد مشخص شده)، مقادیر گم شده به:undefined.
گاهی اوقات این قابل قبول است، اما گاهی اوقات بهتر است که برای پارامترها مقادیر پیشفرض تعیین کنید:
مثال
function myFunction(x, y) { اگر (y === undefined) { y = 0; } }
اگر تعداد پارامترهای فراخوانی تابعتعداد پارامترها زیاد استاگر (بیشتر از تعداد مشخص شده)، میتوان مجموعهای از argumentsبرای دستیابی به این پارامترها استفاده میشود.
مجموعهای از arguments
توابع جاوااسکریپت یک شیء داخلی به نام arguments دارند.
مجموعهای از arguments شامل آرایهای از پارامترهایی است که در زمان فراخوانی تابع استفاده میشوند.
به این ترتیب، شما میتوانید به سادگی از تابع برای پیدا کردن (مثلاً) بیشترین ارزش لیست اعداد استفاده کنید:
مثال
x = findMax(1, 123, 500, 115, 44, 88); function findMax() { var i; var max = -Infinity; for (i = 0; i < arguments.length; i++) { اگر (arguments[i] > max) { max = arguments[i]; } } return max; }
یا یک توابع برای جمع همه ورودیها ایجاد کنید:
مثال
x = sumAll(1, 123, 500, 115, 44, 88); function sumAll() { var i, sum = 0; for (i = 0; i < arguments.length; i++) { sum += arguments[i]; } return sum; }
پارامترها از طریق ارزش انتقال مییابند
پارامترهای درخواستی در فراخوانی توابع پارامترهای توابع هستند.
پارامترهای JavaScript از طریقارزشهابرای انتقال:
اگر توابع ارزشهای پارامترها را تغییر دهند، آنها نمیتوانند تغییرات را در ارزش اصلی ایجاد کنند.
تغییرات در خارج از توابع قابل مشاهده نیستند.
اشیاء از طریق اشارات انتقال مییابند
در JavaScript، اشارات به اشیاء ارزشها هستند.
به همین دلیل، رفتار اشیاء مانند این است که آنها از طریقاشارهبرای انتقال:
اگر توابع ویژگیهای اشیاء را تغییر دهند، آنها همچنین تغییرات را در ارزش اصلی ایجاد میکنند.
تغییرات ویژگیهای اشیاء در خارج از توابع قابل مشاهده است.
- صفحه قبلی تعریف JS به کار
- صفحه بعدی دعوت از JS به کار