Какова важность прототипа в этом примере? - PullRequest
0 голосов
/ 23 октября 2019

Я нашел этот пример в w3school, связанный с темой "Прототип" в js. Мой вопрос заключается в том, что мы можем сделать то же самое с созданием простой функции, тогда какова важность прототипа. Может кто-нибудь объяснить. Спасибо заранее.

<button type="button" onclick="doSomething()">Click Me</button>

JS

function doSomething(){
    var fruits=["apple","banana","papaya"]
    console.log(fruits)
    fruits.uCase()
    console.log(fruits)
}

Array.prototype.uCase=function(){
  for(var i=0;i<this.length;i++){
        this[i]=this[i].toUpperCase();
    }
}

Ответы [ 2 ]

1 голос
/ 23 октября 2019

Вы не должны изменять встроенный прототип, который вы делаете в этом случае для Array (build in Array of JS).

Теперь, что использует прототип: допустим, вы хотите определить общий метод для всех объектов(экземпляры) к функции. Затем его использовали.

Пример: в памяти он является общим для всех экземпляров конструктора функции

function person(name) {
  this.name = name;
}

person.prototype.printName = function() {
  console.log("hello   " + this.name);
}

var obj1 = new person("vips");
var obj2 = new person("bips");

obj1.printName();
obj2.printName();
1 голос
/ 23 октября 2019

Прототипы позволяют легко определять методы для всех экземпляров определенного объекта. Прелесть в том, что метод применяется к прототипу, поэтому он сохраняется в памяти только один раз, но каждый экземпляр объекта имеет к нему доступ. Это довольно быстро.

...