2014-05-06 86 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