Latest web development tutorials
×

JavaScript مسار

JavaScript مسار JavaScript مقدمة موجزة JavaScript استعمال JavaScript تصدير JavaScript قواعد JavaScript البيانات JavaScript مذكرة JavaScript متغير JavaScript أنواع البيانات JavaScript الأجسام JavaScript وظيفة JavaScript مجال JavaScript حدث JavaScript سلسلة JavaScript مشغلي JavaScript مقارنة JavaScript If...Else JavaScript switch JavaScript for JavaScript while JavaScript Break & Continue JavaScript typeof JavaScript نوع التحويل JavaScript التعبير العادية JavaScript خطأ JavaScript التصحيح JavaScript رفع متغير JavaScript الوضع الصارم JavaScript استخدام غير لائق JavaScript مصادقة النماذج JavaScript كلمات محفوظة JavaScript JSON JavaScript void JavaScript كود المواصفات

JS وظيفة

JavaScript تعريف وظيفة JavaScript وسائط الدالة JavaScript استدعاء دالة JavaScript الإغلاق

JS HTML DOM

DOM مقدمة موجزة DOM HTML DOM CSS DOM حدث DOM EventListener DOM العنصر

JS دروس متقدمة

JavaScript الأجسام JavaScript Number JavaScript String JavaScript Date JavaScript Array JavaScript Boolean JavaScript Math JavaScript RegExp الأجسام

JS المتصفح BOM

JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript فرقعة JavaScript حدث موقوتة JavaScript Cookies

JS مخزن

JavaScript مخزن JavaScript اختبار jQuery JavaScript اختبار Prototype

JS أمثلة

JavaScript أمثلة JavaScript مثيل كائن JavaScript مثيل كائن المستعرض JavaScript HTML DOM أمثلة JavaScript ملخص

JS الدليل المرجعي

JavaScript الأجسام HTML DOM الأجسام

استخدام غير لائق جافا سكريبت

هذا الفصل سوف نناقش استخدام أخطاء جافا سكريبت.


تطبيق خطأ عامل التعيين

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

إذا عبارة شرطية ترجع كاذبة (نتوقع) لس لا تساوي 10:

فار س = 0؛
إذا (خ == 10)

محاولة »

في حالة عودة عبارة شرطية الحقيقي (وليس أن توقعنا) يتم تنفيذ بيان لشروط التعيين س 10،10 صحيحا:

فار س = 0؛
اذا كان (س = 10)

محاولة »

إذا عبارة شرطية ترجع كاذبة (وليس ما كنا نتوقعه) يتم تنفيذ بيان لشروط التعيين س 0،0 خاطئة:

فار س = 0؛
اذا كان (س = 0)

محاولة »
مذكرة إرجاع قيمة تعيين متغير.

أخطاء شائعة مقارنة

في المقارنة التقليدية، يتم تجاهل نوع البيانات، وإذا كان بيان حالة التالي بإرجاع صحيحا:

فار س = 10؛
فار ذ = "10".
إذا (خ == ذ)

محاولة »

في عملية مقارنة دقيقة، وهو حساب الهوية === المشغل، في حين بلغت قيمة التعبير عن نوع التحقق، الشروط التالية اذا بيان ترجع كاذبة:

فار س = 10؛
فار ذ = "10".
إذا (خ === ص)

محاولة »

غالبا ما يحدث هذا الخطأ في بيان التبديل، والتبديل قورنت بيان حسابها باستخدام مشغل الهوية (===):

والأمثلة التالية تنفيذ في حالة تأهب البوب:

فار س = 10؛
التبديل (خ) {
الحالة 10: في حالة تأهب ( "مرحبا"
}

محاولة »

الأمثلة التالية تتعارض لأن نوع لا يتم تنفيذ بالنوافذ تنبيه:

فار س = 10؛
التبديل (خ) {
حالة "10": تنبيه ( " مرحبا")؛
}

محاولة »

إضافة واعتبارات اتصال

إضافة رقمين معا.

سلسلة الاتصال لربط اثنين.

ترتبط الجمع وجافا سكريبت باستخدام مشغل +.

وبعد ذلك، يمكننا أن نرى رقمين معا، وعلى اتصال إلى سلسلة من الأرقام والتمييز على سبيل المثال:

فار س = 10 + 5؛ // x هو 15 نتائج
فار س = 10 + "5" . النتائج // x هو "105"

محاولة »

استخدام المتغيرات مضيفا نتائج غير متسقة:

فار س = 10؛
فار ص = 5؛
فار ض = س + ص. النتائج // ض 15

فار س = 10؛
فار ذ = "5".
فار ض = س + ص. النتائج // z غير "105"

محاولة »

لاحظ استخدام الفاصلة العائمة البيانات

وتقوم جافا سكريبت جميع البيانات على 64 بت نوع البيانات النقطة العائمة (تعويم) لتخزين.

جميع لغات البرمجة، بما في ذلك تفعيل جافا سكريبت لالعائمة دقة نقطة من البيانات يصعب تحديد ما يلي:

فار س = 0.1.
فار ص = 0.2.
فار ض = س + ص النتائج // z غير 0.3
إذا (ض == 0.3) // عودة كاذبة

محاولة »

يمكنني حل هذه المشكلة، يمكنك استخدام الضرب صحيح والانقسام إلى حل:

أمثلة

فار ض = (س * 10 + Y * 10) / 10؛ // ض النتيجة هي 0.3

محاولة »

فروع سلسلة جافا سكريبت

نحن نستخدم فواصل الأسطر لتشغيل عبارات جافا سكريبت في السلسلة:

مثال 1

فار س =
"مرحبا العالم!".

محاولة »

ومع ذلك، في سلسلة يولى إرجاع مباشرة ل:

مثال 2

فار س = "مرحبا
العالم "!.

محاولة »

يمكننا اختيار أداة للتنمية أو اضغط على المفتاح F12 لرؤية رسالة خطأ:

تحتاج فواصل سلسلة لاستخدام مائل (\) على النحو التالي:

مثال 3

فار س = "مرحبا \
العالم "!.

محاولة »

منقوطة خاطئة

في المثال التالي، لأن الخطأ منقوطة، وإذا كانت كتلة بيان من التعليمات البرمجية لن يتم تنفيذ:

إذا (خ == 19)؛
{
// كتلة كود
}

محاولة »

العودة الاحتياطات بيان

جافا سكريبت هو الافتراضي تلقائيا تنتهي في السطر الأخير من التعليمات البرمجية.

المثالان بإرجاع نفس النتيجة (أ ليس فاصلة منقوطة):

مثال 1

myFunction وظيفة (أ) {
السلطة فار = 10
إرجاع الطاقة *
}

محاولة »

مثال 2

myFunction وظيفة (أ) {
السلطة فار = 10؛
عودة قوة *؛
}

محاولة »

ويمكن أيضا أن تستخدم جافا سكريبت لانهاء بيان متعدد الخطوط.

الأمثلة التالية بإرجاع نفس النتيجة:

مثال 3

myFunction وظيفة (أ) {
فار
الطاقة = 10؛
عودة قوة *؛
}

محاولة »

ومع ذلك، يتم إرجاع الأمثلة التالية من النتائجغير معروف:

مثال 4

myFunction وظيفة (أ) {
فار
الطاقة = 10؛
عودة
و* السلطة؛
}

محاولة »

لماذا لا يوجد مثل هذه النتيجة؟ لأنه في جافا سكريبت، أمثلة ثابت 4 رمز والتعليمات البرمجية التالية:

function myFunction(a) {
    var
    power = 10;  
    return;       // 分号结束,返回 undefined
    a * power;
}

حل

إذا كان هو بيان غير مكتمل، على النحو التالي:

var

سوف جافا سكريبت محاولة لقراءة البيان السطر الثاني:

power = 10;

ومع ذلك، لأن هذا البيان هو الكامل:

return

سوف جافا سكريبت تتحول تلقائيا البيان:

return;

في جافا سكريبت، الفاصلة المنقوطة اختيارية.

منذ عودته الجملة كاملة، فإنه سيتم إيقاف بيان جافا سكريبت العودة.

مذكرةملاحظة: لا كسر خط عبارة الإرجاع.

استخدام أسماء مؤشر مجموعة

العديد من لغات البرمجة تسمح باستخدام الاسم كما فهرس الصفيف.

لاستخدام الاسم كما يسمى مؤشر مجموعة مجموعة النقابي (أو التجزئة).

جافا سكريبت لا يدعم استخدام اسم صفائف مؤشر، سوى مؤشر رقمي.

أمثلة

شخص فار = []؛
شخص [0] = "جون" .
شخص [1] = "دو" .
شخص [2] = 46؛
فار س = person.length. // Person.length يعود 3
فار ذ = شخص [0]؛ // شخص [0] إلى "جون"

محاولة »

في جافا سكريبت، استخدم اسم الكائن كمؤشر.

إذا كنت تستخدم اسم كمؤشر عند الوصول إلى مجموعة، وجافا سكريبت إعادة تعريف مجموعة قياسية من الكائنات.

بعد تنفيذ هذه العملية، وأساليب وخصائص مجموعة لن يتم استخدامها، وإلا فإنه سوف يولد خطأ:

أمثلة

شخص فار = []؛
شخص [ "الاسم الأول"] = " جون".
شخص [ "اسم العائلة"] = " دو".
شخص [ "عمر"] = 46 ؛
فار س = person.length؛ // person.length عوائد 0
فار ذ = شخص [0]؛ // شخص [0] إلى غير معروف

محاولة »

تحديد عنصر صفيف، وأخيرا لا يمكن أن تضيف فاصلة

يتم تعريف الأخطاء:

points = [40, 100, 1, 5, 25, 10,];

التعريف الصحيح من الطريق:

points = [40, 100, 1, 5, 25, 10];

تحديد كائن، وأخيرا لا يمكن أن تضيف فاصلة

يتم تعريف الأخطاء:

websites = {site:"本教程", url:"www.w3big.com", like:460,}

التعريف الصحيح من الطريق:

websites = {site:"本教程", url:"www.w3big.com", like:460}

غير معرف لا لاغية

في جافا سكريبت، لاغية للكائنات، غير معروف للمتغيرات، والخصائص والأساليب.

يتم تعريف الأشياء ممكنة فقط لاغية، وغير معروف على خلاف ذلك.

إذا كنا نريد لاختبار ما إذا كان وجود الكائن، وعندما لم يتم تعريف الكائن بعد سوف رمي خطأ.

استخدام خاطئ:

if (myObj !== null && typeof myObj !== "undefined") 

الطريق الصحيح هو أننا بحاجة إلى استخدام تشير typeof للكشف عن ما إذا كان قد تم تعريف الجسم:

if (typeof myObj !== "undefined" && myObj !== null) 

نطاق كتلة

جافا سكريبت لا إنشاء نطاق جديد في كل كتلة رمز، والنطاق العام من كل كتلة كودي هي العالمي.

المتغير كود ط التالي بإرجاع 10 بدلا من غير معروف:

أمثلة

ل(فار ط = 0؛ ط <10؛ ط ++) {
// بعض كود
}
العودة ط.

محاولة »