1

如果我想访问其自身(一个对象)中的一个值,我将如何去做呢?

这是我所拥有的(简化):

options = {
    'image' : {
        'height' : {
        'upper' : 100,
        'lower' : 25
        },
        'width'  : {
        'upper' : 100,
        'lower' : 25
        },
    'dimensions' : (Math.floor(Math.random() * (options.image.height.upper - options.image.height.lower) + options.image.height.lower)) + 'x' +                                                         (Math.floor(Math.random() * (options.image.width.upper - options.image.width.lower) + options.image.width.lower())),
        'color' : 'fff'
};

如果您查看 options.dimensions,我正在尝试访问高度和宽度的值,但我相信我的范围是错误的。

有没有办法以我正在做的方式访问我需要的东西?如果没有,有什么更好的方法来解决这个问题?

谢谢 :)

4

2 回答 2

4

分两步进行:

options = {
    'image' : {
        'height' : {
            'upper' : 100,
            'lower' : 25
        },
        'width'  : {
            'upper' : 100,
            'lower' : 25
        },
        'color' : 'fff'
    }
};

options.dimensions = (Math.floor(Math.random() * 
    (options.image.height.upper - options.image.height.lower) + options.image.height.lower)) + 
    'x' + (Math.floor(Math.random() * (options.image.width.upper - options.image.width.lower) +
    options.image.width.lower()));
于 2012-11-29T03:00:34.627 回答
1

你为什么不试试

options = {
    'image' : {
        'height' : {
        'upper' : 100,
        'lower' : 25
        },
        'width'  : {
        'upper' : 100,
        'lower' : 25
        },
        'color' : 'fff'
};

options['dimensions'] = (Math.floor(Math.random() * (options.image.height.upper - options.image.height.lower) + options.image.height.lower)) + 'x' + (Math.floor(Math.random() * (options.image.width.upper - options.image.width.lower) + options.image.width.lower()));

我认为没有任何方法可以引用仍未创建的对象。

于 2012-11-29T03:02:41.127 回答