1

是否可以将一个对象的键设置为同一对象$thumbnailContainer中另一个对象的值?thumbnailImggallerySelectors

例子:

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

2 回答 2

1

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

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

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

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

于 2012-06-27T22:13:05.720 回答
0

不,因为this在你展示的情况下不会绑定到对象。

我不认为有办法做到这一点。

你可以试试

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

但我不确定我是否会相信它可以在任何地方工作。我想你必须查看语言规范,看看成员是否总是保证按顺序初始化。

我会采取简单的路线:

var gallerySelectors = {
    '$thumbnailContainer' : $('#thumb'),
    'thumbnailImg' : $('#thumb').find('img')
};
于 2012-06-27T22:12:32.983 回答