2014-05-06 132 views

回答

1

這是語言基礎知識我訪問的anObjectInstanceanArray[1]

對於您的問題沒有單一的答案。

讓我們來看看兩種不同的情況:

function A(){} 

A.prototype.m = function(data){ console.log(data) }; 

var ai = new A(); 

var b = ai.m({ a : [ { k1 : 'V1', k2 : 'V2' } ] }); 

m將返回undefined,所以b變量的值是undefined。通過使用這個b變量,你不能訪問任何東西。

function A(){} 

A.prototype.m = function(data){ return data; }; 

var ai = new A(); 

var b = ai.m({ a : [ { k1 : 'V1', k2 : 'V2' } ] }); 

在第二個例子的方法m返回第一個參數的值,所以可以通過使用可變b得到它的訪問。

console.log(b.a[0].k1);//returns `V1` 
0

您的代碼現在幾乎沒有錯誤。

您嘗試在創建對象實例之前聲明對象屬性,例如, G。使用{}

var anObjectInstance = {}; 

您嘗試在someMethod創建一些方法(函數),但你的語法是錯誤的。我不能完全理解你要實現用這種方法到底是什麼,但有嚴格的聲明應該是這樣的:

anObjectInstance.someMethod= function(){ 
    var someVar = [{'foo':'bar'}]; 
    return someVar; 

}; 

現在你可以使用someMethod訪問someVar陣列:

console.log(anObjectInstance.someMethod()); 
+0

我沒有編輯的問題。請現在看看。有些房產是錯誤的。現在它是一些方法() – user3283104