/ / Каква е разликата между Something.prototype.else и Something.else [дубликат] - javascript, обект, програмиране

Каква е разликата между Something.prototype.else и Something.else [duplicate] - javascript, обект, прототип-програмиране

Възможно дублиране:
JavaScript: Class.method vs. Class.prototype.method

Опитвам се да разбирам обект в JavaScript. Сега виждам много различни употреби на обекта и не мога да ги разделя.

Като начало най-голямото нещо, което искам да знам е каква е разликата между тези две

Something.prototype.else = function(){
return 6;
}

И

Something.else = function(){
return 6;
}

И двете изглеждат по различен начин, но се използват по същия начин, или аз греша.

Отговори:

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

Ако сте запознати с други езици за програмиране, можете да приемете, че вторият е статичен метод.

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

var x = new Something();
x.else();

Вторият, от който не се нуждаете, за да го използвате:

Something.else();

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

Това е добър въпрос за интервю за JavaScript работа наистина.

Разликата е, че Something.else замените Something.prototype.else, Това е, ако имате и двете, Something.else ще бъде използвано.

Предимството на прототипите е, че прототипът може да бъде споделен между много обекти, за да се намали потреблението на паметта, да се направи по-лесна корекция на маймуни и да се приложи наследство, основано на прототип.