نسخة الكود كما يلي:
var add = function (a) {
وظيفة الإرجاع (ب) {
وظيفة الإرجاع (ج) {
إرجاع A+B+C ؛
} ؛
} ؛
} ؛
إضافة (1) (2) (3) ؛ // 6
هذا صحيح! إذا كانت هناك 4 مكالمات مثل إضافة (1) (2) (3) (4) ، فلن يتم تطبيق هذا بالتأكيد.
هذا يشبه تنفيذ وظيفة لإرجاع القيمة الخاصة بالوظيفة:
نسخة الكود كما يلي:
وظيفة إضافة (x) {
var sum = x ؛
var tmp = function (y) {
SUM = SUM + Y ؛
إرجاع TMP ؛
} ؛
tmp.toString = function () {
إرجاع مجموع
} ؛
إرجاع TMP ؛
}
console.log (إضافة (1) (2) (3)) ؛ // 6
console.log (إضافة (1) (2) (3) (4)) ؛ // 10
ومع ذلك ، بعد اكتمال الحساب ، يتم إرجاع الوظيفة TMP ، بحيث لا يمكن الحصول على نتيجة الحساب. والنتيجة التي نحتاجها هي رقم محسوب. إذن ماذا يجب أن نفعل؟ بادئ ذي بدء ، نحتاج إلى معرفة أنه في JavaScript ، ستستدعي الطباعة وإضافة عمليات الحسابات وظائف tostring أو valueof على التوالي ، لذلك نعيد كتابة طرق tostring وقيمة TMP لإرجاع قيمة المجموع ؛
ما سبق هو كل شيء عن هذا المقال ، أتمنى أن تنال إعجابك.