سؤال

وأنا باستخدام موتولز-1.2.3 في هذه اللحظة وأنا أواجه مشكلة في الحصول على متغير ليكون خارج الوصول إليها من وظيفة.

وأنا بحاجة إلى تعريف المتغير في وظيفة domready، لأن خلاف ذلك DOM لم يتم تحميل وسوف الوظائف محدد لا يعمل (لا أستطيع وضع السيناريو في نهاية HTML لا أملك السيطرة على عندما يكتب إطار الإشارات إلى النصوص الخارجية).

وهناك على أية حال في وضع مرجع لنفس المتغير في وظيفة أخرى؟

window.addEvent('domready', function() {
    var myVar = new myClass('someURL', 'elementSelectorString');
    document.addEvent('click', function(event) {
        myVar.doSomeStuff(var1, var2);
    });
});

window.addEvent('unload', function(event) {
    // Reference to myVar variable in domready function.
    myVar.cleanUpStuff();
});
هل كانت مفيدة؟

المحلول

ووضع var myVar; في المستوى الأعلى (فوق addEvents)، وإزالة var من وظيفة domready. متغيرات واضحة في نطاق فيها انهم المعلنة.

نصائح أخرى

والمتغيرات العالمية هي في الواقع خصائص الكائن النافذة، بحيث يمكنك استخدام:

window.myVar

وببساطة تحديد myVar دون الكلمة var. عدم وجود var خلال مهمة يوحي العالمي.

window.addEvent('domready', function() {
    myVar = new myClass('someURL', 'elementSelectorString');
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top