// Создаем объект
var product = {
name: "Product",
location: "Earth",
};
// Создаем конструктор
var Water = function (name, size){
this.name = name;
this.size = size;
};
// Указываем прототип для конструктора
var aquaMinerale = new Water("Аква минерале", 1); // Прототипом Water является Object
// Устанавливаем прототип для Water
Water.prototype = product;
var bonAqua = new Water("Бон аква", 0.5); // Прототипом Water является product
// Получаем прототип переданного объекта Object.getPrototypeOf( obj )
var bonAquaProto = Object.getPrototypeOf(bonAqua);
bonAquaProto.name = "Water"; // Меняем свойство прототипа
// Проверка существования свойства объекта
var sizableWater = function( obj ){
return obj.hasOwnProperty('size');
};
// Вывод всех св-й объекта с учетом прототипа
var getObjProperty = function ( obj ){
var arr = [];
for (var key in obj){
// if(!obj.hasOwnProperty( key )) continue; // Выводит только св-в объекта без прототипных св-в
arr.push(key + " = " + obj[key]);
};
return arr;
};
var bonAquaPropertyObj = getObjProperty(bonAqua);