اذهب إلى المحتوى
  • 0

ما معني رسالة الخطأ myFunction is not defined

Omar Abdelfattah2

السؤال

Recommended Posts

  • 1

تخبرك رسالة الخطأ ان المتغير المسمى myFunction غير معرف. 

أي انك لم تقم بتعريف المتغير myFunction قبل استخدامه في الكود الخاص بك، وقد يكون الكود الخاص بك بالشكل :

myFunction(...)

والصحيح هو ان يتم تعريف الوظيفة قبل استخدامها :

const myFunction = (...)=>{...}
myFunction(...)
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

let a = 1
console.log(b) 

//الناتج
Uncaught ReferenceError: b is not defined

هنا ، a هو متغير تمت تهيئته بقيمة. لقد واجهنا خطأ لأننا حاولناطباعة  المتغير b غير الموجود. لم نعلن بعد عن أي متغير من هذا القبيل ، لذلك لدينا خطأ مرجعي هنا.

لذلك حل المشكلة السابقة كما أخبرك عمر أنه يجب عليك تعريف المتغير أو الوظيفة التي تستخدمها

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هناك طريقة أخرى لتعريف الدالة وهي Function Declaration دونّ الحاجة إلى تخزين قيمتها في متغير والتي تعرف باسم Function Expression.

فعند استخدام طريقة Function Declaration يمكنك نداء الدالة بعد تعريفها بالشكل التالي:

تتميز Function Declaration بأنها تعريف الدالة باستخدام الكلمة المحجوزة function واسم الدالة وقائمة المعاملات (إذا كانت الدالة تأخذ معاملات) وجسم الدالة بين الأقواس المنفتحة والمغلقة. على سبيل المثال:

function myFunction(param1, param2) {
  // كود الدالة هنا
}

myFunction(1, 2)

وبالطبع يجب كتابة اسم الدالة حتى تتمكن من ندائها وهنا اسم الدالة هو myFunction.

ويمكن استدعاء الدالة التي تم تعريفها بواسطة Function Declaration في أي مكان في الكود، حتى قبل تعريفها، لأن الدوال التي تم تعريفها بهذه الطريقة ترفع إلى الأعلى (Hoisting) من قبل JavaScript.

بينما Function Expression:

تتميز  بأنها تعريف الدالة بتعبير يتم تخزينه في متغير. في هذه الحالة، يمكن استخدام تعبير السهم (Arrow Function) أو الدالة المجهولة (Anonymous Function) لتعريف الدالة. على سبيل المثال:

// Arrow Function Expression:
const myFunction = (param1, param2) => {
  // كود الدالة هنا
}

// Anonymous Function Expression:
const myFunction = function(param1, param2) {
  // كود الدالة هنا
}

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

يمكن استخدام كل من Function Declaration و Function Expression لتعريف الدوال في JavaScript، ويتوقف الاختيار على المطلوب والأسلوب الذي يسهل فهمه.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...