2014-02-19 2 views
0

У меня есть JS-определение, подобное этому в файле .js, который включен в мой .html-файл.Наследование функции Javascript

function chat() { 
    this.sendNew() = function() { 
    [ .. ] 
    } 
} 

Теперь я хочу добавить еще один файл .js, который может расширить эту функцию с большим количеством способов, как этот

function chat() { 
    this.anotherMethod = function() { 
    } 
} 

Возможно ли это? Если да, то как? :)

ответ

4

Вы можете добавить методы/атрибуты для .prototype объекта:

chat.prototype.anotherMethod = function() { 
    // ... 
} 

Просто помните, что .prototype является свойством функций, а затем должны быть доступны chat, а не один из его экземпляров.

Вы можете узнать больше о .prototypehere.

+0

Неплохо, я не заметил, что 'chat()' был создан позже в коде с помощью 'ch = new chat()'. Итак, наконец, я добавил новый метод 'ch'. В любом случае спасибо! –

+0

Вы также можете назначить 'anotherMethod' экземпляру, выполнив' ch.anotherMethod = ... ', но тогда вы будете только расширять экземпляр, а не сам класс. –

+0

Вы правы, но получили проницательную информацию о прототипе сегодня, спасибо :) –

Смежные вопросы