0

我有一个javascript类如下:

function Apple (type) {
    this.type = type;
    this.color = "red";
}

Apple.prototype.getInfo = function() {
    return this.color + ' ' + this.type + ' apple';
};

现在我想从我的 html 文件中调用方法 getinfo 来处理事件。说我有一个像下面这样的 div:

<div ... onmouseover="getinfo()"></div>

现在我知道上面不是调用 getinfo 的正确方法。那么最好的方法是什么?

一种方法可能如下,我在 windowonload() 调用中定义了一个类对象,并使用该对象调用方法 getinfo()。但是,如果我有很多用于一个大项目的类和很多对象怎么办。然后我需要在 windowonload() 调用中定义每个对象,这对我来说似乎不正确。必须有一种方法可以动态创建对象。请指导我?

4

2 回答 2

1

Declare your class:

function Apple (type) {
    this.type = type;
    this.color = "red";
}

Apple.prototype.getInfo = function() {
    return this.color + ' ' + this.type + ' apple';
};

Create an instance of it:

var apple = new Apple("pink lady");

Then play with it:

<div ... onmouseover="alert(apple.getInfo())"></div>
于 2012-07-03T16:03:34.560 回答
1

要调用该方法,您需要创建对象的实例,例如:

new Apple('Granny Smith')

您可以将对象的引用保存在变量中,并使用该变量调用方法:

var green = new Apple('Granny Smith');
var info = green.getinfo();

或者您可以即时创建对象并直接调用该方法:

var info = new Apple('Granny Smith').getinfo();

通常,在页面加载时创建对象的实例并稍后使用它是有意义的。

于 2012-07-03T16:04:17.153 回答