الفرق بين المراجعتين لصفحة: «JavaScript/ReferenceError»
لا ملخص تعديل |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 76: | سطر 76: | ||
* معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.11.6.3 ECMAScript 5.1]. | * معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.11.6.3 ECMAScript 5.1]. | ||
* معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf ECMAScript 3rd Edition] . | * معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf ECMAScript 3rd Edition] . | ||
[[تصنيف:JavaScript]] | [[تصنيف:JavaScript|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Global Objects]] | [[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Error]] | [[تصنيف:JavaScript Error|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:39، 28 يناير 2018
الكائن ReferenceError
يُشير إلى حدوث خطأ عند محاولة الإشارة إلى متغيرٍ غير موجود.
البنية العامة
new ReferenceError([message])
message
وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر.
الخاصيات والدوال التابعة للدالة البانية ReferenceError
الخاصيات
ReferenceError.prototype
تُمثِّل هذه الخاصية كائن prototype التابعة للكائن ReferenceError
.
الدوال
الدالة البانية ReferenceError
لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype.
الكائن prototype
الخاصيات
ReferenceError.prototype.constructor
تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات ReferenceError
؛ راجع صفحة الخاصيةObject.prototype.constructor
لمزيدٍ من التفاصيل.
ReferenceError.prototype.message
رسالة الخطأ. وعلى الرغم من أنَّ مواصفة ECMAScript تقول أنَّه يجب أن يوفِّر كائن ReferenceError
قيمةً خاصةً به للخاصية message
، لكنه يرث الخاصية Error.prototype.message
في أغلب محركات JavaScript.
ReferenceError.prototype.name
اسم الخطأ. هذه الخاصية موروثة من Error.prototype.name
.
الدوال
كائن prototype التابع للكائن ReferenceError
لا يملك أيّة دوال تابعة له مباشرةً، لكنه يرث بعض الخاصيات عبر سلسلة prototype.
أمثلة
سنحاول إسناد قيمة المتغير undefinedVariable
غير المُعرَّف إلى المتغير a
في المثال الآتي، وسنعالج الاستثناء باستخدام تعبير try...catch
:
try {
var a = undefinedVariable;
} catch (e) {
console.log(e instanceof ReferenceError); // true
console.log(e.message); // "undefinedVariable is not defined"
console.log(e.name); // "ReferenceError"
}
سنبيّن مثالًا عن هذا الاستثناء برميه يدويًا باستخدام الكلمة المحجوزة throw
:
try {
throw new ReferenceError('Hello');
} catch (e) {
console.log(e instanceof ReferenceError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "ReferenceError"
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 3rd Edition .