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

السؤال

Recommended Posts

  • 0
نشر

الفرق بين console.log(hh.charAt(1)) و console.log(hh(4)) يتمثل في أن الأول يستخدم دالة charAt() لاسترداد حرف محدد في السلسلة، بينما الثاني يستخدم الدالة hh() التي لا توجد في لغة جافاسكريبت وسيتم رفضها من قبل المترجم عند تشغيل الكود إلا إذا قمت بكتابة تلك الدالة بنفسك أنت داخل ملف الكود الخاص بك حيث ستمرر لها القيمة 4.

الدالة charAt() هي دالة جاهزة في جافاسكريبت تستخدم لاسترداد حرف محدد في السلسلة. وتأخذ هذه الدالة مؤشرًا على الفهرس الذي يتم استرداد الحرف منه كمعامل. في هذه الحالة ، يتم استخدام الفهرس 1 كمعامل ، مما يعني أن الحرف الثاني في السلسلة سيتم استرداده وكما تعلم الحرف الأول يمكن استخراجه من خلال كتابة 0 وليس 1.

على الجانب الآخر ، لا يوجد دالة اسمها hh() في جافاسكريبت ، ولذلك سيقوم المترجم بإرجاع خطأ يفيد بعدم وجود الدالة. قد يكون هناك خطأ في تشغيل الكود الذي يستخدم هذه الدالة أو قد يتم استخدام دالة مخصصة بنفس الاسم من قبل المستخدم كما شرحت لك منذ قليل.

بشكل عام ، من المهم فهم أن تفاصيل الدوال في جافاسكريبت تلعب دورًا هامًا في كيفية تنفيذ البرنامج. ولذلك ، يجب على المستخدمين التأكد من استخدام الدوال الصحيحة وفهم كيفية استخدامها بشكل صحيح لتجنب الأخطاء والأخطاء في البرامج.

وهناك طريقة أخرى لاستخراج حرف من نص في جافاسكريبت بدون دالة

في جافاسكريبت ، يمكن الوصول إلى حرف محدد في الكلمة باستخدام مؤشر الفهرس. على سبيل المثال ، إذا كانت الكلمة "Hello" ، يمكن استخدام word[0] لاسترداد حرف "H" الأول في الكلمة، علمًا بأن word هي اسم المتغير الذي قيمته 'Hello' ويتم ترقيم حروف الكلمة في جافاسكريبت بدءًا من الصفر كما أشرت.

https://wiki.hsoub.com/JavaScript/String

  • 0
نشر

لنفرض أن لدينا هذا الكود.

var v1 = "omar";

console.log(v1[1]) // m
console.log(v1.charAt(1)) // m 

console.log(v1[45]) // undefined
console.log(v1.charAt(45)) // ""

يوجد  أختلاف بين v1[1] و v1.charAt(1) سوف أوضح الأختلافات في الاسطر القادمة.

الأختلاف الأول

الدالة charAt()  تستخدم فقط مع النصوص string, وطريقة bracket notation تستخدم من النصوص و المصفوفات arrays.

الأختلاف الثاني

لنفترض أنك قمت بإدخال رقم index خطأ, في حالة كنت تستخدم الدالة charAt() كما في المثال السابق فسوف يكون ال return عبارة عن نص فارغ "", إذا كنت تستخددم طريقة bracket notation سوف يكون undefined return.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...