for(prop in object) if (object.hasOwnProperty(prop)) {
//...
}
Наследование в javascript
В самом языке есть только одно наследование - наследование на прототипах. Наслдеование на классах, это ручное наследование - трюк.
Классом для обькта, является функция, которая через оператор new создала этот обьект. Чтобы проверить на принадлежность обьекта определенному классу, нужно использовать оператор instanceof. Эта функция называется функция конструтор(пример с javascript.ru):
function Animal(name) {
this.name = name
this.canWalk = true
}
var animal = new Animal("скотинка")
Родное наслдование это наследование через прототип, что означает что обьект наследывает свойста и методы другого существующего на этот момент обьекта. Каждый обьект имеет прототип, ссылка на него хранится в свойстве [[prototype]], по стандарту она не обязана быть окрыта для чтения/записи, но в фаерфоксе это обычная ссылка __proto__. Единственный кроссбраузерный способ задать прототип это через функцию конструтор через параметр обьекта Function.prototype:
Animal.prototype = thing;
Комментариев нет:
Отправить комментарий