الفرق بين المراجعتين ل"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
الدعم الأساسي نعم نعم نعم نعم نعم

مصادر ومواصفات