Мой вопрос довольно прямо вперед, но я не могу найти ответ в любом месте (возможно, мой поиск терминологии не правильно, но здесь идет) ...магазин прототип функции в переменной
Почему я можно сделать следующее:
var _Class = function(){
this.output = "Hello";
}
var Class = new _Class();
Class.Talk = function(){
console.log(this.output);
}
Class.Talk(); // outputs "Hello"
И это:
var func = function(){
console.log(Class.output);
}
func(); // outputs "Hello"
Однако я не могу сделать:
var _Class = function(){
this.output = "Hello";
}
var Class = new _Class();
Class.Talk = function(){
console.log(this.output);
}
var func = Class.Talk;
func(); // undefined
Я думал, что это предназначено для хранения ссылки на оригинальную функцию?
'Class.talk' будет существовать только для этого экземпляра. используйте '_Class.prototype. $ x', чтобы получить его для всех экземпляров' _Class' –
Что вы ожидаете от 'this', чтобы ссылаться на' func() '? Кажется, вы должны прочитать https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this. –
Вы ждали этого huh @self! – JordanHendrix