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

By mostafa farghaly

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

لديك وظيفه 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 تعليقات إلى “Optional parameters فى جافاسكربت”

  1. علي حمدان يقول:

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

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

  2. Saudi Wanderer يقول:

    فكرة رائعة جداً :D

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

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

اترك رد