/ / разлика между прототипа, на който е назначен обект буквално срещу функция [дубликат] - JavaScript

разликата между прототипа, на който е присвоен обект буквално срещу функция [дубликат] - javascript

Намерих тази статия в мрежата, която много ме обърква.

http://jonathancreamer.com/object-literals-and-prototypes-in-javascript/

Когато изпълня следния код

case2:
Pizza.prototype = {
divvyUp: function () {
return this.type  + " pizza which has " + this.slices +" slices";
}
};

Versus case1:

Pizza.prototype.divvyUp = function () {
return this.type  + " pizza which has " + this.slices +" slices";
};

Главният глас е, че макар и Pizza.prototype.конструктор в случай1: е функцията конструктор и Pizza.prototype.constrcutor в случай2: е функция обект () и случай2: разединява веригата на наследяване. Но защо тогава, когато изпълнявам sausagePizza.divvyUp () и за двата случая получавам един и същ резултат. Въпреки това, когато case2: е разединяването на веригата за наследяване и повече не се позовава на конструктора на Pizza (), тогава защо получавам резултата за case2, подобен на case1

Отговори:

2 за отговор № 1

Първият ще замени цял prototype с обект, съдържащ една-единствена функция - divvyUp.

Последният ще модифицира съществуващ prototype, ДОБАВЯНЕ (или замяна) на функцията divvyUp.

Опитвам

console.log(Pizza.prototype);

след всеки и имайте поглед.