سؤال

في JavaScript ، كيف يمكنك إنشاء وظيفة جديدة بنفس الاسم مثل وظيفة موجودة ، مع الحفاظ أيضًا على الوظيفة الأصلية حتى يمكن استدعاؤها من داخل الوظيفة الجديدة؟

هل كانت مفيدة؟

المحلول

يمكنك تمرير الوظيفة الأصلية إلى دالة مجهولة المصدر والتي تُرجع وظيفة بديلة لها إمكانية الوصول إلى الوظيفة الأصلية.

على سبيل المثال

parseInt = (function parseInt(original) {
    return function (x) {
        console.log("original would've returned " + original(x));

        // just random 'new' functionality
        return (x | 0) * 2;
    };
}(parseInt));

الإخراج مثال:

>> parseInt(10);
<< original would've returned 10
<< 20

نصائح أخرى

تريد التنفيذ وظيفة التفاف, ، تحقق من المقالات التالية:

يمكنك ببساطة تعيين الوظيفة القديمة لمتغير باسم مختلف:

var old_parseInt = parseInt;

function parseInt(s) {
   return old_parseInt(s) + 1;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top