Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Создание прототипа (https://javascript.ru/forum/misc/62301-sozdanie-prototipa.html)

DivMan 03.04.2016 22:19

Создание прототипа
 
Вот создал я прототип, и так и не понял для чего они, отнимают столько же времени, для создания свойства обычным способом.

https://jsfiddle.net/e89zj0zj/

protoquest 03.04.2016 22:34

DivMan,
ты обдолбанный чтоли пишешь? для ООП, они, для проектирования

protoquest 03.04.2016 22:56

function Car(model, color){
  this.model = model;
  this.color = color;
}
Car.prototype = {
  recolor: function(newColor) {this.color = newColor},
  priceOrDefault: function(){return this.price ? this.price : 10000}
}


Object.defineProperty(Car.prototype, "all", {get: function(){ return this.model + " " + this.color} })

var car1 = new Car("BMW ", "Black");
var car2 = new Car("Lada ", "Blue")

car2.price = " 700 000 RUB"

console.log( car1.all, car2.all)
car1.recolor("silver")
console.log( car1.all, car2.all)
console.log(car1.priceOrDefault(), car2.priceOrDefault())

DivMan 08.04.2016 14:07

Почему в консоле не отображается созданное свойство?

function User(name, age){
this.name = name;
this.age = age;
this. admin = false;
}

var u1 = new User("Vasya", 22);

User.prototype.x = 10;

u1




должно быть так: User {name: "Vasya", age: 22, admin: false, x: 10}

DivMan 08.04.2016 18:35

Почему не удаляется прототип?

var F = function () {
this.a = 1;
}

var f = new F();

F.prototype.a = 44

f.a = 33

delete f.a

delete f.a

delete f.a

рони 08.04.2016 18:37

DivMan,
троль?

DivMan 08.04.2016 18:46

нет, почему он не удаляется?

DivMan 08.04.2016 18:50

Я кажись начинаю понимать

Decode 09.04.2016 00:30

Цитата:

Сообщение от DivMan (Сообщение 413598)
Почему не удаляется прототип?

var F = function () {
this.a = 1;
}

var f = new F();

F.prototype.a = 44

f.a = 33

delete f.a

delete f.a

delete f.a

3 раза delete f.a - мало. Надо 100.

DivMan 09.04.2016 20:15

Цитата:

Сообщение от Decode (Сообщение 413616)
3 раза delete f.a - мало. Надо 100.

Циклом? :lol:


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