在创建时设置Javascript对象值

在创建时设置Javascript对象值,javascript,javascript-objects,Javascript,Javascript Objects,是否可以将一个对象的键$thumbnailContainer设置为同一对象内另一个对象的值thumbnailImg 例如: var gallerySelectors = { '$thumbnailContainer' : $('#thumb'), 'thumbnailImg' : this.$thumbnailContainer.find('img') }; 否,因为在您显示的情况下,此不会绑定到对象 我认为没有办法做到这一点 你可以试试 var gallerySelector

是否可以将一个对象的键
$thumbnailContainer
设置为同一对象内另一个对象的值
thumbnailImg

例如:

var gallerySelectors = {
    '$thumbnailContainer' : $('#thumb'),
    'thumbnailImg' : this.$thumbnailContainer.find('img')
};

否,因为在您显示的情况下,此不会绑定到对象

我认为没有办法做到这一点

你可以试试

var gallerySelectors = {
    '$thumbnailContainer' : $('#thumb'),
    'thumbnailImg' : gallerySelectors.$thumbnailContainer.find('img')
};                     ^--------------- NOTE!!!
但我不确定我是否会相信这在任何地方都能奏效。我想您必须查看语言规范,看看是否总是保证按顺序初始化成员

我只想走简单的路线:

var gallerySelectors = {
    '$thumbnailContainer' : $('#thumb'),
    'thumbnailImg' : $('#thumb').find('img')
};

否,因为在您显示的情况下,此不会绑定到对象

我认为没有办法做到这一点

你可以试试

var gallerySelectors = {
    '$thumbnailContainer' : $('#thumb'),
    'thumbnailImg' : gallerySelectors.$thumbnailContainer.find('img')
};                     ^--------------- NOTE!!!
但我不确定我是否会相信这在任何地方都能奏效。我想您必须查看语言规范,看看是否总是保证按顺序初始化成员

我只想走简单的路线:

var gallerySelectors = {
    '$thumbnailContainer' : $('#thumb'),
    'thumbnailImg' : $('#thumb').find('img')
};

不,不幸的是,没有。幸运的是,替代方案同样简单:

var gallerySelectors = {
    $thumbnailContainer: $('#thumb')
};

gallerySelectors.thumbnailImg = gallerySelectors.$thumbnailContainer.find('img');

如果问题是您希望以内联方式传递对象,您也可以创建一个函数来完成此操作。

不,不幸的是,没有。幸运的是,替代方案同样简单:

var gallerySelectors = {
    $thumbnailContainer: $('#thumb')
};

gallerySelectors.thumbnailImg = gallerySelectors.$thumbnailContainer.find('img');

如果问题是要内联传递对象,您也可以创建一个函数来执行此操作。

我肯定您不是有意键入此命令:
$(“#thumb”)。$thumbnailContainer.find('img')
Bummer。无论如何,谢谢你。这是我可能最终会使用的方法。我肯定你不是有意键入以下内容:
$(“#thumb”)。$thumbnailContainer.find('img')
Bummer。无论如何,谢谢你。这就是我可能最终会采用的方法。