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() を呼び出す方法の 1 つは、以下のとおりです。しかし、大きなプロジェクト用のクラスがたくさんあり、オブジェクトがたくさんある場合はどうでしょうか。次に、 windowonload() 呼び出しで各オブジェクトを定義する必要がありますが、これは私には正しくないようです。その場でオブジェクトを作成する方法が必要です。親切に私を案内しますか?

4

2 に答える 2

1

クラスを宣言します:

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

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

そのインスタンスを作成します。

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

それからそれで遊んでください:

<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 に答える