Optional parameters فى جافاسكربت


السلام عليكم و رحمه الله و بركاته

لديك وظيفه function يمكن تمرير 3 عبارات parameters لها و تريد أن تجعل العباره الاخيره إختياريه اى يمكن إستدعاء الوظيفه بدون إعطاء هذه العباره قيمه ، فى PHP يمكنك تحقيق التالى عن طريق إعطاء ال parameter قيمه فى جسم ال function الااساسيه كما يوضح الكود التالى :

<?php
function my_function( $par1, $par2, $par3 = “default Value” ){
//some code
}
?>

لكن فى جافاسكربت لا يمكنك إعطاء قيمه إفتراضيه لل parameters عند تعريف ال function ، و لكن الحل فى إستخدام المعامل || داخل جسم الوظيفه كما بوضح الكود التالى

function my_function( par1, par2, par3 ){
var par3 =par3 || ” default value” ;
//some code
}

المعامل || يقوم بإعطاء المتغير القيمه التى على شماله إذا كانت true او تحتوى على قيمه ، او يعطى المتغير القيمه التى على يمينه إذا كانت true او تحتوى على قيمه ، او يعطى للمتغير القيمه false إذا كان القيمتين اليمين و الشمال false ، و فى الكود بالأعلى يقوم المعامل بفحص قيمه par3 إذا كانت غير موجوده فإنه يعطى المتغير par3 القيمه default value ، أود الإشاره انى قمت بنقد كتاب O’Reilly programming firefox هنا ، و كتاب Apress javascript design patterns هنا .

الأوسمة: ,

2 تعليقان to “Optional parameters فى جافاسكربت”

  1. علي حمدان Says:

    السلام عليكم ورحمة الله وبركاته
    جميل جدا ..في حال الرغبة في وضع قيمة افتراضية ..لكن هناك مشكلة هي : في حال ان قيمة المتغير الممرر صفر فان القيمة العائدة تكون false

    الطريقة البديلة :
    par1 = typeof par1==’undefined’ ? 5 : par1;
    في هذه الحالية لو لم تمرر قيمة المتغير par1 فانه سيأخذ القيمة الافتراضية (5)
    شكرا جزيلا على سعة صدرك

  2. Saudi Wanderer Says:

    فكرة رائعة جداً😀

    لم تخطر لي على بال

    وأشكر الأخ على حمدان على مداخلته التي أفادتني كثيراً

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s


%d مدونون معجبون بهذه: