Javascript对象的方法属性

时间:2014-05-06 07:16:15

标签: javascript oop

var someVar = anObjectInstance.someMethod({
                  anArray : [
                               { "key" : "value" },
                               { "key" : "value" } 
                            ]
              });

在上面的代码中,如何使用变量anArray[1]

访问anObjectInstance的{​​{1}}

2 个答案:

答案 0 :(得分:1)

这是语言基础。

您的问题没有单一的答案。

让我们来看看两种不同的情况:

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变量,您无法访问任何内容。

2

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`

答案 1 :(得分:0)

您的代码现在几乎没有错误。

您尝试在创建对象实例之前声明对象属性,例如: G。使用{}

var anObjectInstance = {};

您尝试在someMethod中创建一些方法(函数),但您的语法错误。我无法完全理解你想用这种方法实现什么,但是正确的声明应该是这样的:

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

};

现在您可以使用someMethod访问someVar数组:

console.log( anObjectInstance.someMethod() );