Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как добавить методы объекту после конструирования. (https://javascript.ru/forum/misc/34716-kak-dobavit-metody-obektu-posle-konstruirovaniya.html)

Dmitriyff 20.01.2013 21:12

monolithed,
возможно и не понимаю, но в вашем примере это было лишнее.

http://www.mail-archive.com/jsmentor.../msg00513.html

это вы видимо пример как делать не надо?
var object = {};
object.constructor.prototype.property = 1;

alert([].property);

megaupload 20.01.2013 21:24

Цитата:

Как добавить методы объекту после конструирования.
function Rabbit (){}

var rabbit = new Rabit;
rabbi.run = function(){} // добавим только этому созданному кролику

Rabbit.prototype.say = function(){} // добавим всем кроликам уже созданным и в будущем создаваемым

megaupload 20.01.2013 21:33

Прочитал вопрос.

var arr = [1,2,3,4,5];

function MegaArray(){
    this.ololo = function(){};
}

MegaArray.call(arr); // примешаем свойства и методы MegaArray в массив arr


теперь arr это смесь MegaArray и Array

nerv_ 20.01.2013 21:51

function Board() {}

Board.method = function() {
    alert( 1 );
};

var arr = [];

arr.method = Board.method;

alert( arr.push );
alert( arr.method );

только это все извращения

Цитата:

Сообщение от megaupload
теперь arr это смесь MegaArray и Array

с чего вдруг?

прям ниндзя :)
Цитата:

var set = function () {
    for (var i = 0; i < _board.width; i++) {
        _board.push([])
        for (var ii = 0; ii < _board.height; ii++) {
            _board[i].push(random());
        }
    }
}.call(set)

var set = function (x) {
    alert( x );
}.call(set);

megaupload 20.01.2013 21:58

Цитата:

Сообщение от nerv_
с чего вдруг?

Потому что мы прошлись по объекту arr конструктором Array и конструктором MegaArray; Я думаю вам стоит почитать про наследование на примесях;

nerv_ 20.01.2013 22:18

Цитата:

Сообщение от megaupload
конструктором MegaArray

я бы не стал называть MegaArray конструктором. Скорее "функция для смешивания".
Цитата:

Сообщение от megaupload
наследование на примесях

? :blink:

megaupload 20.01.2013 22:52

Да, применяешь функции для смешивания последовательно в порядке наследования от родительского класса к дочернему, дочерние методы и свойства оверфловят родительские если имена совпадают; Тут даже статья должна быть в учебнике; Поищу ссылку дам;

нашел http://habrahabr.ru/post/147901/

nerv_ 20.01.2013 23:56

Дзен-трансгуманист, вот поэтому мой мозг взрывает фраза
Цитата:

Сообщение от megaupload
наследование на примесях

примеси, не более. Наследование? Нет.

megaupload, за ссылку спасибо. Я ее уже видел.

megaupload 21.01.2013 00:34

Дзен-трансгуманист,
Это потому что вы путаете наследование на прототипах и наследование на примесях; Почитайте про наследование на прототипах;

nerv_,
Почитайте про наследование;

Dmitriyff 21.01.2013 12:22

megaupload,
Вы бы хоть ссылку разместили, какую-нить про "наследование на примесях", а то это звучит как некая неведомая ... в вакууме, а мы то люди мало грамотные (вспоминаем отзыв ваш нелестный), сами поисковками ни разу не пользовавшиеся, вряд ли справимся


Часовой пояс GMT +3, время: 23:57.