الفرق بين المراجعتين لصفحة: «JavaScript/Function/toString»
لا ملخص تعديل |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 69: | سطر 69: | ||
*معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-function.prototype.tostring ECMAScript 2015 (6th Edition)]. | *معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-function.prototype.tostring ECMAScript 2015 (6th Edition)]. | ||
*معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%201st%20edition,%20June%201997.pdf ECMAScript 1st Edition]. | *معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%201st%20edition,%20June%201997.pdf ECMAScript 1st Edition]. | ||
[[تصنيف:JavaScript]] | [[تصنيف:JavaScript|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Global Objects]] | [[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Function]] | [[تصنيف:JavaScript Function|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:41، 28 يناير 2018
الدالة Function.prototype.toString()
تعيد سلسلةً نصيةً لتمثيل الشيفرة المصدرية للدالة.
البنية العامة
function.toString()
القيمة المعادة
سلسلة نصية تُمثِّل الشيفرة المصدرية للدالة.
الوصف
يُعيد الكائن Function
تعريف الدالة toString
الموروثة من الكائن Object
؛ وستُعيد هذه الدالة، عند استدعائها على الدوال التي عرَّفها المستخدم، سلسلةً نصيةً للشيفرة المصدرية التي تُستخدَم لتعريف الدوال.
ستستدعي JavaScript هذه الدالة تلقائيًا عند محاولة استخدام الدالة كقيمة نصية، مثلًا: عند إضافة سلسلة نصية إلى الدالة.
استدعاء الدالة toString
على دوال الكائنات المُضمَّنة في اللغة أو على الدوال المُنشَأة عبر الدالة Function.prototype.bind
سيؤدي إلى إعادة native function string بما يشبه ما يلي:
"function () {\n [native code]\n}"
إذا استدعينا الدالة toString
على دالة مُعرَّفة عبر الدالة البانية Function
، فستُعيد الشيفرة المصدرية للدالة المُنشَأة تحت اسم "anonymous"
.
أمثلة
سنورد في الشيفرة الآتية شكل تعريف الدالة وبجوارها السلسلة النصية المُعادة من استدعاء الدالة Function.prototype.toString
:
function f(){} //"function f(){}"
class A { a(){} } // "class A { a(){} }"
function* g(){} // "function* g(){}"
a => a // "a => a"
({ a(){} }.a) // "a(){}"
({ *a(){} }.a) // "*a(){}"
({ [0](){} }[0]) // "[0](){}"
Object.getOwnPropertyDescriptor({
get a(){}
}, "a").get // "get a(){}"
Object.getOwnPropertyDescriptor({
set a(x){}
}, "a").set // "set a(x){}"
Function.prototype.toString // "function toString() { [native code] }"
(function f(){}.bind(0)) // "function () { [native code] }"
Function("a", "b") // "function anonymous(a\n) {\nb\n}"
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 1st Edition.