Передача сразу в конструктор
Почему тут при инициализации класса в конструктор не передается this.classs?
function Branch(){
this.branch = [];
this.branchUl = document.createElement('UL');
this.branchUl.className = this.classs;
document.body.appendChild(this.branchUl);
alert(this.classs)
};
function Last() {
this.classs = 'last';
this.when = 'last';
this.lastBooks = [];
Last.prototype = new Branch;
Last.prototype.constructor = Last;
};
|
потому что this равен экземпляру Branch, а не экземпляру Last.
тут можно позаимствовать конструктор : Last.prototype = new Branch; // => Branch.call(this); |
melky,
Спасибо. Еще другой вопрос. Как создать именованный массив, чтоб именем могло быть даже число. Вот например: var f = [] var g = "44343" ; f[g] = "dssd" Тут g станет на 44343 место, а должно быть "44343" : "dssd" |
|
lord2kim,
Да. Думал об этом. Но все же хотелось бы массивом. Хотя, дурацкое рассуждение. Мне просто надо иметь возможность отличать свойство-базу данных от просто свойств. Планировал проверять потом инстансеофом на принадлежность к массиву |
PashPP,
Ключами свойств любого объекта могут быть только строки. Если значение внутри квадратных скобок другого типа, то оно преобразуется в строку, и берётся свойство в объекте с таким ключом. Поэтому obj[44343] эквивалентно obj["44343"]. Тоже самое касается в том числе и массивов, так как они тоже являются объектами. При var a=[34, 56]; массив a будет иметь собственные свойства "0", "1" и "length". |
| Часовой пояс GMT +3, время: 08:30. |