الاستفادة من وظائف معلمات في جافا سكريبتباستخدام وظائف معلمات
المشكلة تحتاج إلى الاستفادة من وظائف معلمات في جافا سكريبت. نظرية جافا سكريبت وظائف بالنسبة للجزء الأكبر من المعلمات. كنت قد فكرت بأن الجملة السابقة تنص على واضحة بعد كل شيء ، دون المعلمات ، ما هي البيانات التي يمكن تمريرها إلى وظيفة؟ جافا سكريبت لديه القدرة على إعلان الوظائف التي ليس لها المعلمات ، على الرغم من أن المستدعي الدالة مرت المعلمات إلى وظيفة. فعلى سبيل المثال ، دعونا ننظر في وظيفة بالإضافة إلى ذلك يستخدم num1 و num2 المعلمات. المصدر : / الانترنت / الجذر / ajaxrecipes / جافا سكريبت / AddTwoNumbers الدالة parameterlessfunctions.html (num1 ، num2) (عودة num1 + num2 ؛) وnum1 و num2 المعلمات المضافة ويتم إرجاع النتيجة. الحل وهناك طريقة أخرى لكتابة نفس الوظيفة هو إسقاط المعلمات واستخدام الحجج وجوه ، على النحو التالي : AddTwoNumbers الدالة () (الحجج العودة [0] + الحجج [1] ؛) في هذه النسخة المعدلة من وظيفة ، لا توجد المعلمات ، ولكن بالإضافة إلى ذلك لا يزال ممكنا. وإذا كان الأسلوب يسمى مثل هذا ، وبالإضافة إلى ذلك يحدث : AddTwoNumbers (2 ، 2) ؛ هنا الدالة يتم تمرير معلمتين ، ولكن الإعلان وظيفة قد لا شيء. لا يمكن أن يكون واحدا أو اثنين أو عشرة المعلمات لا يهم. ربما واحد أو اثنين أو عشرة من كافة المعلمات سيتم تعيين ، أو ربما لا أحد منهم سيتم تعيين. عدم اليقين هذا يشكل تحديا إضافيا لأنك تركت يتساءلون عما اذا كانت المعلمة يتم تعيين أو لا ، فعلى سبيل المثال ، النظر في ما يلي تعريف الدالة. المصدر : / الانترنت / الجذر / ajaxrecipes / جافا سكريبت / TooManyParametersNotEnoughArguments الدالة parameterlessfunctions.html (param1 ، param2 ، param3) (معلومات ( "TooManyParametersNotEnoughArguments" ، typeof (param3)) ؛ assertEquals ( "غير معروف" ، typeof (param3)) ؛) وظيفة TooManyParametersNotEnoughArguments تتوقع المعلمات الثلاث ، لكنها ستكون دعا مع اثنين فقط من المعلمات ، كما يتضح من استدعاء رمز التالية : TooManyParametersNotEnoughArguments (1 ، 2) ؛ هناك منفصلة بين المتصل وظيفة ، والمعلمة الثالث غادر التعلق. لمعرفة ما اذا كانت المعلمة اليسار التعلق ، عليك استخدام المشغل typeof والاختبار إذا كانت النتيجة غير معروف. لا اختبار لقيمة فارغة لأن المعلمة الثالث ليست فارغة ، بل هو غير معروف. وكقاعدة عامة من الإبهام ، لا تستخدم لاغية كوسيلة لاختبار الدولة. فارغة غامضة ويمكن أن تعني أشياء مختلفة في سياقات مختلفة. قيمة غير معروف لا غموض فيه أنها تشير بوضوح إلى أن المتغير لم يتم تعيينها. وهناك طريقة أخرى لاختبار ما اذا كانت المعلمة الثالث خصص لنرى كيف هي حجج كثيرة قد مرت على وظيفة ، كما يتضح من بعد تعديل TooManyParametersNotEnoughArguments الدالة : TooManyParametersNotEnoughArguments ظيفة (param1 ، param2 ، param3) (معلومات ( "TooManyParametersNotEnoughArguments" ، typeof (param3)) ؛ assertEquals ( "غير معروف" ، typeof (param3)) ؛ assertEquals (2 ، arguments.length) ؛) رمز جريئة هو اختبار إضافية للممتلكات argument.length أن يتحقق الطالب من TooManyParametersNotEnoughArguments يمر في اثنين فقط من الحجج ، والبراهين كائن يعرف محليا في سياق وظيفة ، وبالتالي على سبيل المثال واحدة من الحجج استدعاء الدالة لن مباراة الحجج دعوة من وظيفة أخرى. انه من المهم ان ندرك ان الحجج هي المصفوفات التي يمكنك معالجتها. عند تنفيذ المهام التي ليست لها المعلمات ، ينبغي عليك أن تنظر في ما يلي : • إذا كنت تنفيذ وظيفة وانها اعلنت مع ثلاث معلمات ، لا نتوقع من وظيفة ليتم استدعاؤها مع معلمات أكثر أو أقل. الترميز مع جافا سكريبت حول اتفاقية والتوقعات. رمز مع معلمات أكثر أو أقل عند عدد معين من المتوقع يخلط المطور. • إذا كنت تسير على قبول عدد متباينة من الحجج ، ثم بتعريف الدالة بدون وسائط ، وهذا يعني أنكم استخدام الكائنات الحجج. ثم يقرأ شخص وظيفة يدرك أن وظيفة سيتم قبول عدد متباينة من المعلمات ، ومرة أخرى الوفاء بمقتضيات التوقعات عند كتابة شفرة جافا سكريبت. • إذا قمت بتعريف وظيفة بدون معلمات ، وستقوم باستخدام مؤشر واحد من الحجج الدالة في جميع أنحاء الجسم ، والنظر في تحديد الرقم القياسي لمعرف متغير بحيث المعلمة والغرض من ذلك هو واضح. • إذا كنت تسير على قبول عدد متغير من الوسائط ، وتذكر لإنشاء أخطاء صريح ومطول كلما كنت تتوقع أكثر أو أقل من الحجج. مقال مقدم من سونيا Lande تنويه :موقعنا على الانترنت ليست مسؤولة عن محتوى هذه المادة. Webarticles هو حر للمعلومات. المهم : هذه المادة "مزايا وظائف معلمات في جافا سكريبت" وقد ترجم من قبل البرمجيات التلقائي. نشعر بالاسف من اجل أي الأخطاء الإملائية التي قد حدث. شكرا لتفهمكم.
|
|||||
| Online: 357 users browsing the articles directory |
|
|