是否可以将对象的属性值设置为javascript中的对象?

时间:2015-08-08 02:35:16

标签: javascript javascript-objects

所以,这就是我尝试做的事情:

注意:这些对象只是我尝试过的一个例子,它们不是我正在使用的实际对象。

var object = {
    header: "Header",
    selectorObject: selector = new Selector(), //Property has Object value
    footer: "Footer"
}

function Selector() {
    var index = 0;
    this.rotateLeft = function() {
        index++;
        return index;
    }

    this.rotateRight = function() {
        index--;
        return index;
    }
}

我想知道是否可以提供已定义对象的对象属性值?

如果可以,如何在将对象分配给属性后访问该对象?

我知道这可能是另一种形式:

var object = {
    header: "Header",
    selectorObject: {
     //Properties and functions
    },

    footer: "Footer"
}

但是,我的selectorObject将被多次使用,因此为我使用它的每个对象复制代码将是一种耻辱。

1 个答案:

答案 0 :(得分:0)

使用上面的代码,你可以将selectorObject交给你需要的任何新对象的新实例,实例将是相同的:

object.selectorObject.rotateLeft()
> 1
object.selectorObject.rotateLeft()
> 2
var obj2 = { selectorObject: object.selectorObject };
obj2.selectorObject.rotateLeft()
> 3