Я знаю, что это будет работать:
function Foo() {};
Foo.prototype.talk = function () {
alert('hello~\n');
};
var a = new Foo;
a.talk(); // 'hello~\n'
Но если я хочу позвонить
Foo.talk() // this will not work
Foo.prototype.talk() // this works correctly
Я нахожу несколько способов заставить Foo.talk
работать,
-
Foo.__proto__ = Foo.prototype
-
Foo.talk = Foo.prototype.talk
Есть ли другие способы сделать это? Я не знаю, правильно ли это делать. Используете ли вы методы класса или статические методы в вашем коде JavaScript?