JavaScript - Как объект знает функцию в прототипе своего класса? - PullRequest
1 голос
/ 28 февраля 2011

Итак ... допустим, у меня есть следующий фрагмент кода

function Rectangle(w,h){
    this.width = w;
    this.height = h;
}

Rectangle.prototype.area = function(){ return this.width * this.height; }

var object2 = new Rectangle(10,5);
object2.area();

Итак ... object2 вызывает метод area (), который определен в прототипе Rectangle.

Какobject2 знает существование метода area ()?Я предполагаю, что должно быть что-то вроде ... указателя в object2, который указывает на прототип Rectangle?

1 Ответ

1 голос
/ 28 февраля 2011

Это зависит от реализации, но в Firefox и Webkit указатель находится в свойстве __proto__ объекта.

См. Справочник по MDC .

Другая ссылка , которая более подробно объясняет внутренности поиска свойств.

...