JavaScript Function Definitions
تعريف الدالة في لغة جافا سكريبت
ستتعلم في هذا الدرس مفهوم وتعرف الدالة Function Definitions وسنتطرق إلي عبارة return statement ووظيفتها وطرق كتابتها ولماذا تستخدم ايضاً ستتعرف علي تعبيرات الدوال Function Expression والدوال من النوع Anonymous Function.
التاريخ
الدروس
المستوى
اللغة
المشاهدات
المواضيع
الشروحات chevron_left JavaScript Function Definitions chevron_left JavaScript
JavaScript Function Definitions
تعريف الدالة في لغة جافا سكريبت
</>
JavaScript Function Definitions
تعريف الدالة في لغة جافا سكريبت
تعريف الدوال Function Declration ، يطلق عليه ثلاث تعريفات (Function Definition، Function Declration، Function Statement) ، وتبدأ الدالة بكلمة أساسية Function Keyword ثم يتبعها الآتي:
- يتم تعريف الدوال أو الإعلان عنها في لغة جافا سكريبت بكلمة ثابتة محددة ومدمجة في لغة جافا سكربت بأسم function بحروف صغيرة.
- يتبع كلمة function الأسم الذي تريد انشاءه وهو أسم له علاقة related بالأوامر التي سوف تنفذ وهو أسم متطابق مع الشروط بالأسفل.
- أغلب القواعد في لغة جافا سكريبت لها جزئين أول جزء يكون بين أقواس Parentheses والجزء الذي يليه يكون بين أقواس مجعدة Cuerly Braces.
- الجزء الأول بين أقواس Parentheses نقوم بأضافة العوامل أو معطيات parameters للدالة functions لكي نرسل لها في كل مره معطيات وتقوم بمعالجتها وسنتطرق بالتفصيل في هذا الدرس عن العوامل parameters .
- الجزء الثاني وهو نقوم بكتابة أوامر برمجية بداخلة تحجز وتتجاهل هذة الأوامر لغة جافا سكربت لا يتم تنفيذها إلا اذا قمت بطلب ذلك من لغة جافا سكريبت.
- إذا كنت بحاجه الي تنفيذ هذة الأوامر البرمجية الموجودة بداخل الدالة عليك بعمل استدعاء للدالة عن طريق كتابة اسم الدالة أو اسم الدالة وبداخلها العوامل وسنتطرق بالتفصيل في هذا الدرس عن عملية الأستدعاء function call.
يمكنك الأعلان علي الدوال بطرق مختلفة في لغة جافا سكريبت:
- Basic Function يمكنك الأعلان عن الدالة عن طريق Keyword كلمة function.
- Constructor Function يمكنك الأعلان عن الدالة عن طريق Constructor.
- Anonymous Function يمكنك الأعلان عن الدالة بداخل متغير [ Variable ] var and let أو ثابت [ Constant ] const.
نستخدم علامة الفاصلة المنقوطة semicolon للفصل بين الجمل البرمجية المختلفة مع العلم ان الدوال ليس من الواجب انهائها ب semicolon ولكن تنتهي كل جملة من الكود الموجود بداخلها ب semicolon.
</>
Function Expressions in JavaScript
تعبيرات الدوال في لغة جافا سكريبت
طرق أستدعاء الدوال functions بعد عملية الأعلان declaration وقبل عملية الأعلان:
- يمكن أن نستدعي أي دالة معرفة عن طريق Keyword كلمة function قبل الأعلان declaration عنها أو بعد.
- يمكن أن نستدعي الدالة من النوع Constructor Function في أي وقت قبل عملية الأعلان declaration أو بعد عملية اعلان.
- لا يمكن أستدعاء الدالة من النوع Anonymous Function التي يتم الأعلان declaration عنها بدون أسم وتحفظ بداخل متغير أو ثابت قبل تعريف المتغير أو الثابت.
Basic Function before
أستدعاء الدالة قبل عملية الأعلان عنها declaration.
myFunction(); function myFunction() { document.write("<p>Functions Declaration</p>"); };
Basic Function after
أستدعاء الدالة بعد عملية الأعلان عنها declaration.
function myFunction() { document.write("<p>Functions Declaration</p>"); }; myFunction();
Anonymous Function before
أستدعاء الدالة من النوع Anonymous Function قبل عملية الأعلان عنها declaration سوف تلاحظ هذا الخطأ في console هو Cannot access 'x' before initialization.
x(); let x = function() { document.write("<p>Functions Declaration</p>"); };
Anonymous Function before
أستدعاء الدالة من النوع Anonymous Function بعد عملية الأعلان عنها declaration طريقة صحيحة.
let x = function() { document.write("<p>Functions Declaration</p>"); }; x();
- هناك نوع من انواع الدوال يسمي ب "anonymous function " وهو عبارة عن دالة ليس لها اسم ويتم انشائها بدون تحديد الاسم الخاص بها
</>
return statement in functions JavaScript
عبارة return statement في الدوال في لغة جافا سكريبت
الدالة في الأصل مثلها مثل المتغير تعين لها قيمة وقيمتها الافتراضية هي undefind يمكنك تغيير هذة القيمة عن طريق انهاء الدالة بعبارة return statement يمكنك تعيين أرقام أو نصوص أو اي نوع من أنواع البيانات وفي هذة الحالة سوف تكون قيمة الدالة علي حسب القيمة التي تتبع عبارة return statement, يمكننا تخزين الدالة اثناء عملية الاستدعاء Call a function بداخل المتغير والمتغير سوف يساوي = القيمة المعينة للدالة وهي القيمة التي تتبع return statement.
اثناء عملية الاستدعاء سوف يقوم محرك جافا سكريبت بتنفيذ امرين هما:
- الأول وهو تنفيذ جميع الأوامر البرمجية التي تسبق return statement الموجودة بداخل الدالة.
- الثاني وهو تعيين قيمة الدالة من undefind الي أي قيمية ثابتة أو ديناميكية وهي التي تتبع return statement.
يجب الاخذ في الأعتبار الأتي:
- عبارة return statement تكتب في نهاية الدالة, لتنهي عملية التنفيذ ولا تنفذ لغة جافا سكريبت أي أوامر برمجية بعد السطر الذي يحتوي علي أمر return.
- يمكنك ان تضيف لها قيمة محددة من داخل الدالة وإذا قمت بحفظ الدالة بداخل متغير يكون قيمة المتغير = قيمة الدالة وقيمة الدالة = القيمة الموجودة بعد return.
- اذا بدأت الأوامر البرمجية الموجودة بداخل الدالة لن يتم تنفيذ الأوامر البرمجية التي تلي عبارة return statement.
- يجب وضع عبارة return statement القيمة التي تعينها داخل الدالة في سطر واحد لأن عكس ذلك يعد سوف تكون القيمة undefined.
- يمكنك تعيين قيمة للدالة مصفوفة array أو كائن object أو عمليات حسابية أو نص string أو رقم number.
Without value
قيمة الدالة بدون استخدام عبارة return هي undefind.
function myFunction() { document.write('<p> Check Function Value if it stored in variable below...</p>'); } let x = myFunction(); document.write(x);
return Method with variable
يمكنك أرجاع أي قيمة بعد خاصية return, وهذة القيم متغيرة وديناميكية تتغير عن طريق العوامل pramaters, يمكنك حفظها في متغير ويمكنك إستدعائة في أي وقت.
function myFunction() { document.write('<p> Check Function Value if it stored in variable below...</p>'); return 10; } let x = myFunction(); document.write(x)
return multi lines
اذا قمت بأضافة القيمة في سطر جديد اسفل return statment سوف تكون قيمة الدالة undefind.
function myFunction() { document.write('<p> Check Function Value if it stored in variable below...</p>'); return 10; } let x = myFunction(); document.write(x);
return array
يمكنك تعيين قيمة للدالة مصفوفة array.
function myFunction() { document.write('<p> Check Function Value if it stored in variable below...</p>'); return [10,77,16]; } let x = myFunction(); document.write(x[1]);
return object
يمكنك تعيين قيمة للدالة كائن object.
function myFunction() { document.write('<p> Check Function Value if it stored in variable below...</p>'); return {name:'Ahmed',age:25,study:'full-stack-web'}; } let x = myFunction(); document.write(x.name);
return string
يمكنك تعيين قيمة للدالة نص string.
function myFunction() { document.write('<p> Check Function Value if it stored in variable below...</p>'); return "JavaScript"; } let x = myFunction(); document.write(x);
</>
Constructor Function in JavaScript
تعريف الدوالة بكلمة new لبناء كائن في لغة جافا سكريبت
مصطلح Function constructor هو عبارة عن طريقة لأنشاء دوال وظيفتها أنشاء دوال ككائن في لغة جافا سكريبت, أستدعاء constructor مباشرة يتم انشاء دالة ديناميكية,ولكن constructor يعناني من مشاكل امنية واقل اهمية من الدوال العادية.
- أحياناً نحتاج لبناء مخططات ديناميكية لأنشاء اكثر من كائن بنفس النوع,في هذة الحالة يمكننا أستخدام object constructor function.
Function Constructor
الدوال من النوع Function Constructor في لغة جافا سكريبت.
const first = new student("Mohamed Aly", 30, "Front-End"); const second = new student("Ahmed Salaeh", 300, "Back-End");