使用'this。'。如何以不同方式访问JavaScript对象属性

时间:2013-06-06 18:12:51

标签: javascript oop web-applications properties gis

男人们,我陷入了一件简单的事情:我知道实现我的JavaScript'programm'的两种方法,但是有一个问题。想象一下,我们有一个对象的构造函数,例如:

function Map () {
    //and this object has some properties
    this.foo = 'bar';
};

现在我们创建一个这个对象的实例:

var myMap = new Map ();

我需要实现一个为这个'Map'绘制一个新的矢量图层的程序,而应该使用属性'foo'。我可以这样做,将其实现为“Map”方法,例如:

Map.prototype.layer = function () {
    ...;//some uninteresting code
    this.foo += 'bar';
};

'this.foo'在这个上下文中意味着Map.foo,我需要,好吧,现在我可以写了

MyMap.layer ();//and this will draw my layer

但是,如果实现它不像方法,但是像创建新层实例的构造函数那样呢?我们可以这样使用的东西:

var myLayer = new myMap.Layer ();

我应该如何为它编写构造函数?像

Map.prototype.Layer = function () {
//and how to access Map.foo now?
//if i write 'this.foo' here
//and then call this constructor like i wrote above
//it will mean 'Map.Layer.foo', isn't it?
};

我哪里错了?如何定义'Layer'对象的构造函数,该对象应该是'Map'对象的属性并使用'Map的属性?

0 个答案:

没有答案