2013-09-26 22 views
5

當我寫爲什麼我可以寫一個像「c = {get a(){}}」的對象?

var c = { get a(){} }; 

結果是C對象有一個「得到」和「設置」屬性。

爲什麼?

在Chrome和Firefox中測試。

+0

爲什麼不呢?這就是語言的設計。這是在[object literal]中指定getter和setter屬性的語法(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters)。 – Bergi

回答

2

有時它是希望允許訪問返回 動態計算值的屬性,或者你想反映 內部變量的狀態,而無需使用顯式的方法調用。 在JavaScript中,這可以通過使用getter來完成。它 是不可能同時有一個吸氣劑綁定到一個屬性 ,並讓該屬性實際上保持一個值,雖然可能 使用一個吸氣劑和一個setter結合起來創建一個類型 僞屬性。

- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/get

相關問題