Свойство объекта JavaScript может относиться к другому свойству того же объекта? [дубликат]

63
задан Bungle 13 April 2016 в 20:11
поделиться

2 ответа

Не с объектными литералами ( this имеет то же значение во время построения литерала, что и раньше). Но вы можете сделать это.

var carousel = new (function()
{
      this.$slider =  $('#carousel1 .slider');
      this.panes = this.$slider.children().length;
})();

Здесь используется объект, созданный из конструктора анонимной функции.

Обратите внимание, что панели $ slider и являются общедоступными, поэтому к ним можно получить доступ как carousel. $ Slider и т. Д.

50
ответ дан 24 November 2019 в 16:28
поделиться

К сожалению, нет. Синтаксис {} инициирует создание нового объекта, но до тех пор, пока объект не будет создан, он не присваивается переменной carousel . Кроме того, значение , это может измениться только в результате вызова функции. Если ваши «еще несколько свойств» будут зависеть только от ползунка , тогда вы можете обойтись примерно так:

var slider = $('.slider');
var carousel = {
  panes: slider.children.length(),
  something: slider.something_else,
  // ...
};
carousel.slider = slider;
19
ответ дан 24 November 2019 в 16:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: