Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2012, 11:53
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Передача сразу в конструктор
Почему тут при инициализации класса в конструктор не передается 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;
};

Последний раз редактировалось PashPP, 13.10.2012 в 11:56.
Ответить с цитированием
  #2 (permalink)  
Старый 13.10.2012, 12:01
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

потому что this равен экземпляру Branch, а не экземпляру Last.

тут можно позаимствовать конструктор :


Last.prototype = new Branch;
// =>
Branch.call(this);
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2012, 15:54
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

melky,
Спасибо.


Еще другой вопрос.
Как создать именованный массив, чтоб именем могло быть даже число.

Вот например:

var f = []

var g = "44343" ;

f[g] = "dssd"


Тут g станет на 44343 место, а должно быть "44343" : "dssd"
Ответить с цитированием
  #4 (permalink)  
Старый 13.10.2012, 17:59
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

PashPP, использовать объекты
var obj = {};
obj["44343"] = "dssd";
alert(obj["44343"]);
Ответить с цитированием
  #5 (permalink)  
Старый 13.10.2012, 18:14
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

lord2kim,
Да. Думал об этом.
Но все же хотелось бы массивом.

Хотя, дурацкое рассуждение.
Мне просто надо иметь возможность отличать свойство-базу данных от просто свойств.
Планировал проверять потом инстансеофом на принадлежность к массиву
Ответить с цитированием
  #6 (permalink)  
Старый 14.10.2012, 15:23
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

PashPP,
Ключами свойств любого объекта могут быть только строки. Если значение внутри квадратных скобок другого типа, то оно преобразуется в строку, и берётся свойство в объекте с таким ключом. Поэтому obj[44343] эквивалентно obj["44343"].
Тоже самое касается в том числе и массивов, так как они тоже являются объектами. При var a=[34, 56]; массив a будет иметь собственные свойства "0", "1" и "length".

Последний раз редактировалось oneguy, 14.10.2012 в 15:26.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
делаю конструктор из DIV. Замена фона. проблемы. wmag Элементы интерфейса 10 02.08.2012 07:49
не работает конструктор в lightbox когда указываешь переменную с точкой Igorpurgen Общие вопросы Javascript 9 27.10.2010 18:14
появляеться и сразу исчезает добавленный елемент kamushek Events/DOM/Window 4 04.09.2010 13:28
Конструктор тем на jqueryui.com lyalya jQuery 0 22.10.2009 16:07
передача данных между формами Yurii Общие вопросы Javascript 2 30.04.2008 20:52