在创建时设置Javascript对象值

时间:2012-06-27 22:08:51

标签: javascript javascript-objects

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

示例:

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

2 个答案:

答案 0 :(得分:1)

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

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

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

如果问题是你想要内联传递对象,你也可以为你做一个函数。

答案 1 :(得分:0)

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

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

你可以尝试

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

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

我会采取简单的方法:

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