Вызываю метод sayMeow() в методе voice() без таймаута. Все норм
function catTemplate(cat) {
this.word = 'meow',
this.sayMeow = function(){
console.log(this.word);
}
this.voice = function(){
this.sayMeow();
};
}
var Barsik = new catTemplate;
Barsik.voice();
С таймаутом not a function
function catTemplate(cat) {
this.word = 'meow',
this.sayMeow = function(){
console.log(this.word);
}
this.voice = function(){
setTimeout(this.sayMeow , 1000)
};
}
var Barsik = new catTemplate;
Barsik.voice();
Так происходит потому что теряется контекст (В данном случае this
Вашего класса). Для того чтобы исправить данную проблему необходимо осуществить привязку контекста к данному методу используя bind()
. Привязка контекста к функции
function catTemplate(cat) {
this.word = 'meow',
this.sayMeow = function(){
console.log(this.word);
}
this.voice = function(){
setTimeout(this.sayMeow.bind(this) , 1000)
};
}
var Barsik = new catTemplate;
Barsik.voice();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как из такой Organization/LimitedCompany/HousingCooperative строки можно сделать массив такого вида: ['Organization', 'Organization/LimitedCompany', 'Organization/LimitedCompany/HousingCooperative']?
В продакшен версии мои стили перебиваются стилями vuetify
Есть возможность заставить работать documentquerySelectorAll('