دالة، كشف حساب

التصريح جديد دالة. يمكن استخدام ذلك في سياقات متعددة:

// in the global scope
function functionname([paramlist]) [: type] {
   [body]
}

// declares a method in a class
[attributes] [modifiers] function functionname([paramlist]) [: type] {
   [body]
}

// declares a method in an interface
[attributes] [modifiers] function functionname([paramlist]) [: type]

الوسيطات

  • attributes
    اختياري. السمات التي عنصر تحكم رؤية والسلوك للأسلوب.

  • معدلات
    اختياري. المعدلات التي تتحكم في رؤية و سلوك الأسلوب.

  • functionname
    مطلوبة. اسم دالة أو أسلوب.

  • paramlist
    اختياري. قائمة معلمة محدد بفاصلة دالة أو أسلوب. قد تضمين كل معلمة مواصفات نوع. قد يكون المعلمة الأخيرة parameterarray، الذي هو تتم الإشارة إليها بثلاث نقاط ( ... ) متبوعة اسم معلمة صفيفة متبوعاً بتعليق توضيحي نوع من الصفائف مكتوب.

  • type
    اختياري. إرجاع نوع أسلوب.

  • body
    اختياري. واحد أو المزيد العبارات التي تعرف كيف تعمل دالة أو الأسلوب.

ملاحظات

استخدام العبارة دالة إلى تقوم بتعريف دالة للاستخدام لاحقاً. التعليمة البرمجية الموجودة في bodyهو لا يتم تنفيذها حتى دالة هو استدعاؤها من أي مكان آخر في برنامج نصي. returnجملة هو يستخدم لإرجاع القيمة من دالة. ليس لديك إلى استخدم returnبيان، يرجع البرنامج عندما فإنه يحصل على إنهاء دالة.

تتشابه طرق إلى العمومي عمله، إلا أن هذه هي خاصة إلى الفئة أو interfaceالموقع يتم تعريف كما أن معدلات المختلفة التي تحكم بها رؤية والسلوك. أسلوب في interfaceلا يمكن أن يكون النص الأساسي، بينما أسلوب في يجب أن يكون فئة النص الأساسي. هناك استثناء إلى هذه قاعدة؛ إذا كان هو أسلوب في على فئة مجردة أو فئة مجردة ، لا يحتوي الأسلوب على نص.

يمكنك استخدام نوع التعليق التوضيحي إلى التصريح بكتابة بيانات التي تريد إرجاع دالة أو أسلوب. إذا voidهو المحدد كنوع الإرجاع، لا توجد القيمة قد يتم إرجاع أي من returnعبارات داخل دالة. إذا كان أي يعد نوع غير voidهو تحديد الجميع returnعبارات في دالة أن ترجع القيمة التي هو coercible المحدد نوع الإرجاع. غير معرّف القيمة هو الذي تم إرجاعه إذا كان نوع إرجاع هو محدد، ولكن تظهر جملة العودة بعدم وجود القيمة أو إذا إنهاء دالة هو بلوغ بدون returnالعبارة. يتعذر على دالات المنشئ تحديد نوع إرجاع، لأن العامل جديد بإرجاع الكائن الذي يتم إنشاؤه تلقائياً.

إذا كان لا يوجد نوع الإرجاع صريحة هو المحددة للدالة نوع الإرجاع هو تعيين إلى أما Objectأو void. القيمة فارغة بإرجاع نوع هو المحدد فقط عندما يكون هناك لا returnعبارات أو returnعبارات تظهر مع عدم وجود القيمة في النص الأساسي للدالة.

يمكن استخدام صفيفة معلمات كـ lكـt معلمة دالة. أية وسائط إضافى تمريرها في دالة (أن وجد) بعد مطلوب المعلمات التي سيتم إدخالها في الصفيف معلمة. نوع التعليق التوضيحي للمعلمة هو غير اختياري; فإنه يجب صفيفة مكتوب. إلى يقبل معلمات أنواع عشوائية، واستخدم من [كائن] كصفيف مكتوب. عند استدعاء دالة يمكن قبول عدد متغير من الوسيطات، قد يتم استخدام صفيفة صريحة من النوع المتوقع بدلاً من توفير قائمة بالمعلمات.

عند استدعاء دالة، تأكد من أن تقوم دائماً بتضمين الأقواس والوسائط المطلوبة أي. استدعاء دالة بدون أقواس يؤدي نص الدالة بإرجاع بدلاً من نتائج الدالة.

مثال 1

يوضح المثال التالي استخدام العبارة دالة في بناء الجملة الأولى:

interface IForm {
   // This is using function in Syntax 3.
   function blank() : String;
}

class CForm implements IForm {
   // This is using function in Syntax 2.
   function blank() : String {
      return("This is blank.");
   }
}

// This is using function in Syntax 1.
function addSquares(x : double, y : double) : double {
   return(x*x + y*y);
}

// Now call the function.
var z : double = addSquares(3.,4.);
print(z);

// Call the method.
var derivedForm : CForm = new CForm;
print(derivedForm.blank());

// Call the inherited method.
var baseForm : IForm = derivedForm;
print(baseForm.blank());

يكون الإخراج الناتج عن هذا البرنامج:

25
This is blank.
This is blank.

مثال 2

في هذا المثال، على دالة printFactsيأخذ كإدخال Stringواستخدام صفيفة معلمات إلى قبول عدد متغير من الكائنات.

function printFacts(name : String, ... info : Object[]) {
   print("Name: " + name);
   print("Number of extra information: " + info.length);
   for (var factNum in info) {
      print(factNum + ": " + info[factNum]);
   }
}

// Pass several arguments to the function.
printFacts("HAL 9000", "Urbana, Illinois", new Date(1997,0,12));
// Here the array is intrepeted as containing arguments for the function.
printFacts("monolith", [1, 4, 9]);
// Here the array is just one of the arguments.
printFacts("monolith", [1, 4, 9], "dimensions");
printFacts("monolith", "dimensions are", [1, 4, 9]);

وهذا برنامج يعرض الإخراج عند تشغيل ما يلي:

Name: HAL 9000
Number of extra information: 2
0: Urbana, Illinois
1: Sun Jan 12 00:00:00 PST 1997
Name: monolith
Number of extra information: 3
0: 1
1: 4
2: 9
Name: monolith
Number of extra information: 2
0: 1,4,9
1: dimensions
Name: monolith
Number of extra information: 2
0: dimensions are
1: 1,4,9

المتطلبات

الإصدار 1 (من أجل بناء الجملة 1)إصدار.NET(تتضمن بني جمل 2 و 3)

راجع أيضًا:

المرجع

عامل التشغيل new

فئة، كشف حساب

الواجهة، كشف حساب

العودة، كشف حساب

المبادئ

نطاق متغيرات و الثوابت

نوع تعليق توضيحي

صفائف مكتوب

موارد أخرى

المُعَدِّلات