2017-01-09 76 views
1

我在問自己是否有辦法將一個子屬性添加到變量中。這裏是什麼,我想才達到一個例子:有沒有辦法給JS中的變量添加「subproperties」?

var variable = 5; 
variable.property = "what ever..."; 
console.log(variable); //outputs 5 
console.log(variable.property); //outputs "what ever..." 

(數據類型並不重要......)

有可能的方式來實現這一目標用干將或Proxys,和我做變量需要是一個對象還是不是?

希望你能幫助,有一個辦法做到這一點:)

+0

你可以設置變量{值:5}開始,然後使用variable.value輸出5 – Brian

+0

@布賴恩是的,但是這不是我想... –

+0

如果變量不是原始類型(例如'Number','String','Boolean'),那麼這將起作用(除了第二個'var'關鍵字不合適)。其他所有東西都會下降從'對象',這是正常的。 ([也有例外](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze),順便說一下,但這裏可能不重要)。它可能並不總是一個好主意,但它應該工作。使用原語,您可以設置該值,但它會立即消失。 –

回答

1

您可以添加臨時屬性,它指向的Object任何變量。你也應該在prototype,如果你有興趣使用類狀物體讀了起來:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype

然而,你的例子使用了5號,這是一個原始。您不能分配屬性原語:https://javascriptweblog.wordpress.com/2010/09/27/the-secret-life-of-javascript-primitives/

也看到這樣的回答:https://stackoverflow.com/a/509780/71906

相關問題