2012-09-06 19 views
0

例如參考(類似於C指針): 我在JavaScript我可以創造一個JSON值

var layout = { 
    "cursor":{"left": 0, "top":0} 
} 

,我想這樣做

var curX = layout.cursor.left; 

,並在使用時別名curX並更改curX的值,光標中留下的值也會更改?

或者進一步,

有光標的引用,像

nodes = [ 
    {name: 1, children: referenceTo2} 
    {name: 2, children: null} 
] 
在這種情況下

,當我們改變節點[1],在節點的子節點的值[0]將改變太。

在此先感謝。

+0

在這個問題中沒有JSON。 – jbabey

回答

0

不,您不能創建對值的引用。 JavaScript對象是參考類型,因此您可以參考layout.cursor,但不能參考layout.cursor.left

+0

@安東尼:謝謝。你的答案清除了很多我的困惑:) – snailclimbingtree

+0

很高興我可以幫忙! –

1

如果children是一個對象(如您的cursor),它是由參考舉行,所以你可以參考它像這樣:

var cursor = { left:0, top:0 }; 

var nodes = [ 
    { name: 1, children: cursor }, 
    { name: 2, children: cursor } 
]; 

nodes[0].children.left = 10; 
nodes[1].children.left; //is 10 

但是,如果孩子是一個字符串,那麼這是一個原始的和你'有點不幸。你可以用setter和ES5做一些幻想,但這可能是你試圖做的事情的矯枉過正。

+0

感謝皮特。這有助於很多 – snailclimbingtree

相關問題