объекты JS "Конструкторы"
Добрый день, js изучаю относительно недавно.. ни как не разберусь с "конструкторами и прототипами" объектов... Может сможет кто согласиться растолковать мне что да как....
Допустим есть конструктор объекта: //кострутор обекта.... function BaseObj(){ this.name = nameCase(); this.rest = checkCache(); } с помощью этого конструктора заполняется массив: function ArrBase(){ var datBaseArr = []; var length = prompt('кол - во объектов:',1); if(!isNumeric(length)){ ArrBase(); } for(var i = 0;i < length;i++){ datBaseArr.push(new BaseObj()); } return datBaseArr; } Как мне добавить свойство любому выбранному объекту из массива и записать в него значение, в нужный мне период времени, допустим по клику мыши... Необходимо,что бы при создании объектов этого свойства у них не было... Например: Object.defineProperty(Здесь к чему привязыват, к BaseObj или же непосредственно datBaseArr[i]? ,"subtrahend", { set: function() {......} }) |
Не особо внятно изложено, но, возможно вот это
<html> <head> <meta charset="utf-8"> <style> </style> </head> <body> <button id="add">add</button> <button id="show">show</button> <script> function BaseObj(){ this.array = [] } BaseObj.prototype.add = function(value){this.array.push(value)} BaseObj.prototype.show = function(){alert(this.array)} //с помощью этого конструктора заполняется массив: function ArrBase(){ var datBaseArr = [], length if(!/^\d+$/.test(length = prompt("number of objects", 1))){ ArrBase(); } for(var i = 0; i < +length; i++){ datBaseArr.push(new BaseObj()); } return datBaseArr; } arr = ArrBase() add.onclick = function(){arr[0].add(1)} show.onclick = function(){arr[0].show()} </script> </body> </html> |
Часовой пояс GMT +3, время: 19:07. |