一般有在寫javascript的話,都會知道要取一個如下物件
var obj = { a: '123', b: '456' }的a值,應該要這麼用:
console.log( obj.a );
但是,其實還有另外一個方法,就是使用類似陣列的動態存取
console.log( obj['a'] );這是一個很方便的特性,假設你要取的物件屬性是不一定的, 我們假設是一個變數。
這時候,如果不知道可以用動態存取方法的話,你就只能這麼寫:
var attr = 'a'; var value = eval('obj.'+attr);用eval的話,在效能和安全性的考慮上就可能不是這麼的好。
改變一下作法,若是這麼寫:
var attr = 'a'; var value = obj[attr];這樣不就簡潔又美觀了呢?
在用json的時候,也可以很方便的這麼用
var value = json['key'] || defaultVal;是不是很棒呢!
沒有留言:
張貼留言