الانتقال إلى المحتوى الرئيسي

قيمة الوسيطة المحددة مسبقا للمعلمة 2 من الدالة

عند العمل مع وظائف في البرمجة ، غالبا ما يكون من الضروري تمرير القيم إلى المعلمات. تتمثل إحدى طرق تعيين قيمة المعلمة عند الإعلان عن دالة في استخدام القيمة الافتراضية. ومع ذلك ، هناك حالات عندما تكون القيمة الافتراضية غير مناسبة وتحتاج إلى تعيين قيمة الوسيطة قبل استدعاء الدالة.

في مثل هذه الحالات ، يمكنك استخدام التعيين المسبق لقيمة إلى الوسيطة المطلوبة. للقيام بذلك ، تحتاج إلى تعيين قيمة للوسيطة داخل الوظيفة ، كما لو كانت متغيرا عاديا. عند استدعاء وظيفة ، يمكنك تمرير قيمة الوسيطة ، ولكن إذا لم تقم بذلك ، فسيتم استخدام القيمة المحددة مسبقا.

يتيح لك هذا الأسلوب إدارة وسيطات الوظيفة بمرونة أكبر ، مع الحفاظ على القدرة على تغييرها داخل الوظيفة ، مع توفير الراحة لاستخدام القيم الافتراضية المتاحة أثناء استدعاء الوظيفة.

  1. ما هي حجة وظيفة?
  2. كيف يمكنني تعيين قيمة حجة?
  3. ماذا تعني القيمة المحددة مسبقا?
  4. كيفية استخدام قيمة وسيطة تم تعيينها مسبقا?
  5. أمثلة على استخدام قيمة محددة مسبقا

ما هي حجة وظيفة?

وسيطة الدالة هي قيمة تم تمريرها يتم استخدامها عند استدعاء دالة لتنفيذ إجراءات معينة. تسمح الوسائط للوظائف بقبول بيانات الإدخال ، والتي يمكن أن تختلف مع كل مكالمة.

يتم الإعلان عن وسيطات الوظيفة في تعريف الوظيفة داخل الأقواس ويمكن أن تكون من أي نوع بيانات — أرقام ، سلاسل ، كائنات ، إلخ. عند استدعاء دالة ، يتم تمرير الوسائط بين قوسين بعد اسم الوظيفة.

ويخرج تحية باستخدام هذه الحجة:

وظيفة تحية (اسم) {

، وتخرج الوظيفة التحية " مرحبا ، آنا!". وبالمثل ، عند استدعاء وظيفة

هذا يأخذ حجتين

a

a

و

ب ، على التوالي

. تقوم الوظيفة بإجراء عملية الإضافة وإرجاع النتيجة ، والتي يتم تخزينها في

متغير النتيجة

أثناء تعريف الوظيفة في جافا سكريبت ، يمكنك تعيين القيمة الافتراضية لوسيطات الوظيفة. هذا يعني أنه إذا لم يتم تمرير أي قيمة لهذه الوسيطة عند استدعاء الوظيفة ، فسيتم استخدام القيمة الافتراضية.

لتعيين القيمة الافتراضية للوسيطة ، ما عليك سوى تعيين القيمة المطلوبة في تعريف الوظيفة باستخدام عامل التشغيل=.

وظيفة وظيفتي (حجة 1 ، حجة 2 = "القيمة الافتراضية") {

// وظيفة الجسم

في هذا المثال

حججة2

له قيمة افتراضية "القيمة الافتراضية". إذا لم يتم تمرير قيمة الوسيطة عند استدعاء الدالة

حججة2

، ثم سيتم استخدام القيمة الافتراضية.

إذا تم تمرير قيمة الوسيطة عند استدعاء الدالة ، فسيتم استخدام القيمة التي تم تمريرها ، وليس القيمة الافتراضية.

أمثلة الاستخدام:

// اتصل دون تمرير القيمة

من وسيطة وظيفتي ("القيمة 1") ؛ / / الحجة 1 = "القيمة 1" ، الحجة 2 = "القيمة الافتراضية"

// اتصل بتمرير القيمة

من حجة وظيفتي ("القيمة 1" ، "القيمة 2"); // الحجة 1 = "القيمة 1" ، الحجة 2 = "القيمة 2"

يمكن أن تكون القيمة الافتراضية للوسيطة أي تعبير ، بما في ذلك استدعاء وظيفة أخرى.إذا لم يتم تمرير قيمة الوسيطة ولم يتم تعيين القيمة الافتراضية ، فستكون الوسيطة داخل الوظيفة مساوية لـ
غير محدد
.

تحية () ؛ / / مرحبا ، ضيف!

  • تحية ("فاسيا") ؛ / / مرحبا ، فاسيا!

  • في هذا المثال ، تأخذ وظيفة الترحيب وسيطة الاسم ، ويتم تعيين القيمة الافتراضية لها على"ضيف". إذا لم يتم تمرير أي وسيطة عند استدعاء الوظيفة ، فسيتم استخدام القيمة المحددة مسبقا "ضيف". إذا تم تمرير الوسيطة ، فستتجاوز القيمة المحددة مسبقا.

يمكن أيضا تعيين القيمة المحددة مسبقا في سياق خارجي ، أي خارج الوظيفة. على سبيل المثال ، في التعليمات البرمجية التالية:

دع الاسم = "ضيف";

وظيفة تحية () {

  • وحدة التحكم.سجل ('مرحبا ، {{اسم}!`);

}

تحية () ؛ / / مرحبا ، ضيف!

الاسم = "فاسيا";

تحية () ؛ / / مرحبا ، فاسيا!

يحتوي متغير الاسم على قيمة محددة مسبقا لـ"الضيف". تستخدم وظيفة الترحيب هذه القيمة عند الاتصال. بعد ذلك ، تتغير قيمة متغير الاسم إلى "فاسيا" وفي المرة التالية التي يتم فيها استدعاء وظيفة الترحيب ، تستخدم القيمة الجديدة.

كيف يمكنني استخدام قيمة الوسيطة المحددة مسبقا?

  • في العديد من لغات البرمجة ، بما في ذلك جافا سكريبت ، من الممكن تعيين قيمة وسيطة تم تعيينها مسبقا لمعلمة دالة. هذا يسمح لك بتعيين القيمة الافتراضية للمعلمة لاستخدامها إذا لم يمر المتصل وسيطة.

هنا مثال على وظيفة جافا سكريبت التي المعلمة لها قيمة افتراضية:

وظيفة

قيمة الحجة

وظيفة تحية (الاسم = "ضيف") {

  • وحدة التحكم.سجل ('مرحبا ، {{اسم}!`);

}

"ضيف"

في المثال المعطى ، المعلمة

اسم الوظيفة