объекты 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, время: 20:04. |