2015-08-08 110 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 
相關問題