是否可以在javascript中将对象的属性值设置为对象?
问题描述:
所以这里是我正在尝试的待办事项:是否可以在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会使用一次以上,所以这将是一种耻辱,重复的代码,因为我用它在每一个对象
答
通过上面的代码,你可以刚刚到手的selectorObject到你需要的任何新对象的新实例,该实例是相同的:
object.selectorObject.rotateLeft()
> 1
object.selectorObject.rotateLeft()
> 2
var obj2 = { selectorObject: object.selectorObject };
obj2.selectorObject.rotateLeft()
> 3
你想有一个全球性的选择objec T'或者做一个选择器对象的构造函数? – code
你可以做'selectorObject:new Selector()'或'selectorObject:selector'就是你想要的吗? – hola
@code我试图给对象对象一个属性,它具有Selector对象的值 – TouchyGibbons