1. 程式人生 > >JavaScript的物件屬性的兩種訪問方式

JavaScript的物件屬性的兩種訪問方式

JavaScript中的物件可以通過點(.)方式和方括號([])運算子來獲得屬性的值。

運算子的左側應當是一個表示式它返回一個物件。

對於點(.)來說右側必須是一個以屬性命名的簡單識別符號。對於方括號來說([]),右側必須是一個以計算結果為字串的表示式,而這個表示式必須是一個結果為字串,這個字串就是屬性名。

  • 在ECMAscript 3中,點運算子後的識別符號不能是保留字。如果是保留字的話必須用方括號來訪問。
  • 當識別符號中有空格時只能通過方括號來訪問。
book["main title"]
o["for"]
JavaScript是弱型別語言,在任何物件中都可以建立任意數量的屬性。 點運算子(.)訪問物件屬性時,屬性名用一個識別符號來表示。識別符號必須出現在JavaScript程式中,他們不是資料型別,因此程式無法修改它們。 方括號運算子([])在訪問物件屬性時,屬性名通過字串來表示。字串是JavaScript的資料型別,在程式執行時可以建立修改它們。
function addstock(portfolio, stockname, shares){
    portfolio[stockname] = shares;
}

建立新的屬性並儲存值。

function getvalue(protfolio){
    var total = 0.0;
    for (stock in portfolio) {
        var shares = portfolio[stock];
        var price = getquote(stock); //查詢股票價格
        total += shares * price;
    }
    return total;
}