比方說,我有一個對象:JS相當於C++ .AT()
var foo = {'bar1': {'baz1':1}};
我嘗試訪問foo['bar2']['baz2']
。如果我只是想訪問foo['bar2']
,JS會返回undefined
。但是因爲我想未定義bar2
後獲得一個屬性,JS拋出TypeError: Cannot read property 'baz2' of undefined.
是否有,首先檢查是否存在foo
baz2
試圖調用它的屬性對象之前一些自動訪問?我知道我可以使用try/catch塊或if語句,但是我希望沿着C++的array::at
這一行發佈函數,它會檢查我。
看看:http://stackoverflow.com/questions/237104/array-containsobj-in-javascript – Avitus
'if(foo ['bar2']){...}'? – Ford
@Avitus不是隻適用於數組的'indexOf'? – user2000008