سؤال

ممكن مكررة:
كيف تعرف وظيفة المتصل في جافا سكريبت؟

كيف يمكنني معرفة وظيفة JavaScript التي كانت الدعوة (السابقة في مكدس المكالمات)؟

أرغب في تحديد ما إذا كانت الوظيفة السابقة المسماة هي __edopostback في حدث التحميل OnBefore.

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

المحلول

كل وظيفة لديها caller الممتلكات المحددة.

من عند https:/developer.mozilla.org/en/core_javascript_1.5_reence/global_objects/function/caller.:

function myFunc() {
    if (myFunc.caller == null) {
        return ("The function was called from the top!");
    } else
        return ("This function's caller was " + myFunc.caller);
    }
}

ال Function.caller الملكية ليست جزءا من معيار ECMA3 ولكنها نفذت عبر جميع المتصفحات الرئيسية، بما في ذلك IE و Firefox.

إذا كنت تستخدم وظيفة مجهولة، فلا يزال بإمكانك الوصول إلى caller الممتلكات عبر arguments.calee منشأه:

function() {
    if (arguments.callee.caller == null) {
        return ("The function was called from the top!");
    } else
        return ("This function's caller was " + arguments.callee.caller);
    }
}

لاحظ أن هذا الرمز هو الوصول إلى الوظيفة الحالية، ثم الرجوع إلى نفس المعايير غير القياسية caller الممتلكات على ذلك. هذا متميز عن استخدام إهمال arguments.caller الممتلكات مباشرة، والتي هي لم تنفذ في بعض المتصفحات الحديثة.

نصائح أخرى

في Chromeos على CR-48، يمنح الوسائط .CALLE.CALLER الجسم وظيفة كاملة كسلسلة، لكل من وظائف المتصل المجهول المسمى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top