как я могу использовать свой класс js в функции jQuery

я создаю свой класс

export default class Quiz{
    constructor() {
        this.quizWrapper = null;
        this.quizStage = null;
        this.progressed = 1;
        this.quizType = 'empty';
        this.scope = 0;
    }
    start(){
        this.scope= 1;
        return true;
    }
};

и импортировать его с помощью

// let test = new Quiz();
// console.log(test); // --> reurn the class fine 

jQuery(document).ready(function ($) {
    var test = new Quiz();
    console.log(test.start()); // --> reurn true
}); 

так что все в порядке, но если я вызову test в консоли браузера, я увижу ошибку Uncaught ReferenceError: тест не определен

если я сделаю это:

jQuery(document).ready(function ($) {
    $.test = new Quiz();

Я могу использовать его с $.test в консоли браузера.

Может кто-нибудь объяснить мне, почему это так? Я хотел бы инициализировать свой модуль после загрузки скриптов из jQuery и использовать его.


person Jury Dpling    schedule 23.10.2019    source источник


Ответы (1)


Это потому, что вы определяете test внутри функции, поэтому она не привязана к глобальной области видимости.

person Grammy    schedule 23.10.2019