1

Я пытаюсь найти, если его можно и недостатки добавления объекта в качестве прототипа, напримерJavascript: Добавление нескольких методов в прототип?

myObject.prototype = { 

    init: function() { 

    }, 

    runMe: function() { 

    }, 

    removeItems: function() { 

    } 
} 

Если это на самом деле законно? и Что разница для выполнения каждого из них в отдельности, т.е.

myObject.prototype.init = function() {} 

myObject.prototype.runMe = function() {} 

Я попытался ищет MDN документацию о добавлении в качестве объекта, но не мог ничего найти.

Может ли кто-нибудь прокомментировать рекомендуемые способы сделать это?

Заранее спасибо

ответ

2

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

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

myObject.prototype = { 

    init: function() { 

    }, 

    runMe: function() { 

    }, 

    removeItems: function() { 

    }, 
    // right here 
    constructor: myObject 
}