المهام
المهام⚙️ حتى لا تكرر نفس الرمز في العديد من الأماكن في خوارزمية البرنامج. في البرامج الحديثة ، الوظائف هي "اللبنات الأساسية".
لا تكرر نفسك
DRY (روس. لا تكرر نفسك) هو مبدأ تطوير برمجيات يهدف إلى تقليل تكرار المعلومات بمختلف أنواعها ، خاصة في الأنظمة ذات طبقات التجريد المتعددة. الوظائف هي بالضبط نوع البيانات التي تخدم مبدأ التصميم هذا.
حدد اسم الوظيفة
Function⚙️ هي العمل! لذلك ، عادة ما يكون اسم الوظيفة فعل. يجب أن تكون بسيطة ودقيقة ، وتصف عمل الوظيفة ، حتى يتمكن المبرمج من قراءة الكود لديه فهم جيد لما تفعله الوظيفة.
كقاعدة عامة ، يتم استخدام بادئات الفعل للإشارة إلى الطبيعة العامة للإجراء ، متبوعًا بتوضيح. عادةً ما يكون لدى فرق التطوير اصطلاحات حول معنى هذه البادئات.
على سبيل المثال ، عادةً ما تظهر الدوال - التي تبدأ بـ `` إظهار '' شيئًا ما.
الوظائف تبدأ بـ ...
"get .." - إرجاع قيمة ،
"calc .."- شيء ما يتم حسابه ،
"create .." - ابتكار شيء ما ،
"check .." - تحقق من شيء ما وأعد قيمة منطقية ، إلخ.
أمثلة على هذه الأسماء:
showMessage (..)// يظهر الرسالة
getAge (..) // إرجاع العمر (في بعض القيمة)
calcSum (..) // يحسب المجموع ويعيد النتيجة
createForm (..) // ينشئ نموذجًا (ويعيده عادةً)
checkPermission (..) // يتحقق الوصول عن طريق إرجاع صح / خطأ
بفضل البادئات ، للوهلة الأولى على اسم الوظيفة ، يصبح من الواضح ما يفعله كودها والقيمة التي يمكن أن ترجعها.
على أي حال ، أنت وفريقك بحاجة إلى فهم ما تعنيه البادئة بالضبط وماذا يمكن للدالة وما لا تستطيع فعله بها.
::: ملاحظة أسماء الوظائف فائقة القصر⚙️ أحيانًا يتم اختصار أسماء الدوال المستخدمة في كثير من الأحيان.
على سبيل المثال ، يحتوي إطار عمل jQuery على وظيفة تسمى $
.في مكتبة Lodash ، يتم تمثيل الوظيفة الرئيسية باسم الشرطة السفلية \ _
هذه استثناءات. بشكل أساسي ، يجب أن تكون أسماء الوظائف قصيرة ووصفية بشكل معقول . :::
وظائف === تعليقات
يجب أن تكون الوظائف قصيرة وأن تفعل شيئًا واحدًا فقط. إذا كان شيئًا كبيرًا ، فمن المنطقي تقسيم الوظيفة إلى عدة وظائف أصغر. إن اتباع هذه القاعدة مفيد بالتأكيد ، خاصة في العمل الجماعي.
الدوال الصغيرة - لا تجعل الاختبار وتصحيح الأخطاء أسهل فحسب - إن وجود مثل هذه الوظائف - بمثابة تعليقات جيدة.
إعلان الوظيفة
لإنشاء الدوال - نستخدم إعلان الوظيفة -.
يأتي أولاً الكلمة الأساسية function
, متبوعًا باسم الوظيفة ، ثم قائمة المعلمات بين قوسين مفصولة بفواصل (في المثال المعطى فارغة) ، وأخيرًا ، الرمز من الوظيفة ، وتسمى أيضًا "جسم الوظيفة" ، داخل الأقواس المتعرجة ...
هذه الطريقة الكلاسيكية في الكتابة وظائف تسمىFunction Declaration
.
بناء الجملة :
function name (parameters) {
... body ... // Algorithm
returnTotalValue
}
::: لاحظ انتبه! إذا لم يتم تحديد أي عودة ، فإن الوظيفة ترجع غير محددة بدلاً من ذلك ، ويفترض افتراضيًا أن تنتهي الوظيفة بخط إرجاع فارغ ، مع تنفيذ البرامج النصية الداخلية فقط. :::
في JavaScript ، بصرف النظر عن الإصدار الكلاسيكيFunction Declaration
طريقة ، يمكنك إنشاء دالة باستخدام:
Function Expression
Arrow Function (arrow functions)
تعبير الدالة هو تصريح من وظيفة التي هي جزء من تعبير (على سبيل المثال ، مهمة).
const name = function (parameters) {
// instructions
}
فلنقارن Function Declaration
و Function Expression
:
// Function Declaration
function sum(num1, num2) {
return num1 + num2
}
// Function Expression
const sum = function (num1, num2) {
return num1 + num2
}
سيتم تقديم صيغة دالة السهم لاحقًا في هذا الفصل. هذه هي الطريقة المبسطة والأكثر استخدامًا لكتابة الوظائف.
استدعاء وظيفة
لاستدعاء دالة وتنفيذها ، تحتاج إلى الرجوع إليها بالاسم ثم تحديد قوسين myMessages()
:
// function declaration
function myMessage() {
let str = 'Hello!'
}
myMessage() // function call
لاحظ أنه في هذا المثال يتم استدعاء الوظيفة ولكنها لا تُرجع قيمة.
وظائف مع العودة
من أجل وظيفة لإرجاع شيء ما ، الكلمة الأساسيةreturn
(نقطة الخروج أو العودة للنتيجة) ويتم تحديد القيمة المعادة في نصها.
التجربة ، استبدل الرقم الأصلي9️⃣ بعدد سنواتك.
:::نصيحة تذكر! من خلال إعلان وظيفة ثم استدعاءها ، نحصل على أي حال على نتيجة الخوارزمية (الإجراءات الموصوفة سابقًا) في جسم الوظيفة. :::
وظيفة داخل وظيفة أخرى
داخل وظيفة⚙️ يمكنك وضع وظائف أخرى⚙️. على سبيل المثال ، الوظيفة⚙️ showNumberFive()
سيعيد الرقم ، سيتم عرض قيمته من خلال الاستدعاء إلى وظيفة التعلمlearnJavaScript()
.
لنستعرض كل هذا خطوة بخطوة:
- الكلمة
function
يشير للمترجم الفوري إلى أن الكود التالي معرف من قبل المستخدم ، أي أنه تم إنشاؤه بواسطتك وليس وظيفة مضمنة. - مكتوب في حالة الجمل
showNumberFive
هو الاسم المخصص لهذه الوظيفة. بالنسبة للمترجم الشفهي ، بشكل عام ، لا فرق بالضبط في تسمية هذه الوظيفة ، ولكن من الأفضل إعطاء أسماء الوظائف التي تشير بوضوح إلى ما تفعله بالضبط. ()
الأقواس هي عنصر مطلوب لأي دالة. في بعض الأحيان يتم وضع متغير واحد أو متغيرين أو أكثر بين قوسين , في حالتنا لا يوجد شيء بين قوسين.- يجب أن يكون جسم الوظيفة نفسها محاطًا بأقواس معقوفة "{}" - جوهر خوارزمية البرنامج.
- عادة ما يتم وضع مسافة بادئة لجسم الوظيفة نفسها إلى اليمين (باستخدام مفتاح TAB) هذا ليس ضروريًا لتنفيذ البرنامج ، ولكنه ضروري للعمل الجماعي ، لأنه يسهل إلى حد كبير قراءة الكود.
- تعني الكلمة الرئيسية "إرجاع" أنه كلما استدعينا هذه الوظيفة ، سيتم تمرير القيمة ، أي "إرجاع" ، إلى المترجم ، لذلك يطلق عليها "القيمة المرجعة للدالة".
Dmitriy K. | Dmitriy Vasilev 💵 | Resoner2005 🐛 🎨 🖋 | Navernoss 🖋 🐛 🎨 |