#javascript #java #jquery
#javascript #java #jquery
Вопрос:
var test = function (){
this.text="hello word!!! ";
this.hello= function(){
alert(this.text);
}
}
У меня есть этот класс… И я хочу использовать этот класс в другом классе, чтобы поздороваться.
Поэтому я делаю это:
class Alert{
test;
constructor(){
console.log("Starting class alert.")
this.test= new test();
}
say (){
test.hello()
}
}
main = new Alert();
main.say();
И это выдает мне ошибку mext:
Uncaught TypeError: Cannot read property 'say' of undefined
at HTMLButtonElement.<anonymous>
Так что я не знаю, как это решить, если кто-то знает, может помочь…
Комментарии:
1. Пожалуйста, добавьте HTML, который также создает ошибку. Кроме того,
test.hello()
должно бытьthis.test.hello()
2. Также
javascript !== java
3. @adiga Да, я сделал это и ничего…
4. Если этот вопрос не включает в себя как java, так и javascript, пожалуйста, удалите неверный тег. Java и Javascript — очень разные языки.
5.
this.test
это одна из проблем. Вы не указалиHTMLButtonElement
и как вы вызываетеsay
, что указано в ошибке.
Ответ №1:
Не забудьте использовать var, let или const для объявления переменных.
Также, если вы хотите вызвать метод внутри класса, используйте this
ключевое слово.
var test = function (){
this.text="hello word!!! ";
this.hello= function(){
alert(this.text);
}
}
class Alert{
test;
constructor(){
console.log("Starting class alert.")
this.test= new test();
}
say (){
this.test.hello()
}
}
var main = new Alert();
main.say();
var test = function (){
this.text="hello word!!! ";
this.hello= function(){
alert(this.text);
}
}
class Alert{
test;
constructor(){
console.log("Starting class alert.")
this.test= new test();
}
say (){
this.test.hello()
}
}
var main = new Alert();
main.say();
Комментарии:
1. Я сделал это и ничего