2015-08-08 108 views
0

所以这里是我正在尝试的待办事项:是否可以在javascript中将对象的属性值设置为对象?

注意:这些对象仅仅是我正在尝试待办事项的一个示例,它们不是我正在使用的实际对象。

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会使用一次以上,所以这将是一种耻辱,重复的代码,因为我用它在每一个对象

+0

你想有一个全球性的选择objec T'或者做一个选择器对象的构造函数? – code

+0

你可以做'selectorObject:new Selector()'或'selectorObject:selector'就是你想要的吗? – hola

+0

@code我试图给对象对象一个属性,它具有Selector对象的值 – TouchyGibbons

回答

0

通过上面的代码,你可以刚刚到手的selectorObject到你需要的任何新对象的新实例,该实例是相同的:

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