@nak-alexey

Почему не получается определить прототип обьекта?

Делаю таймер на JS с применением ООП. Когда хочу к TimerClass через переменную self добавить через прототип метод run выдает ошибку а если добавлю без прототипа все норм, помогите пожалуйста.
var TimerClass = function($node, $days){    
    var self = this;
    
    function Timer(){
        this.node   = document.getElementById($node);
        this.DOM    = [];
        this.interval;
    }
    Timer.prototype = {
        init:   function(){
            console.log('Timer create!!!');
        },
        run:    function(){
            interval = setInterval(timer, 1000);
            function timer(){                
                console.log('Hello! You run timer!!!');
            }
        },
        stop:   function(){
            clearInterval(this.interval);
        }
    };
    function constructor(){
        var object = new Timer();
            object.init();
                           
        self.run = object.run;
        //self.prototype.run = object.run;                
    };    
    return constructor();
};

var timer = new TimerClass('node', 12);   
    timer.run();
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimovich85
@dimovich85 Куратор тега JavaScript
https://u-academy.net/
Вы обращаетесь к классу, а не к объекту, Timer это класс, Вы к нему обращаетесь через prototype, а самого объекта еще нет. Я думаю, что в этом ошибка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы