0
box = new Object();
box.height = 30;
box.length = 20;

box.both = function(box.height, box.length) {
    return box.height * box.length;
}

document.write(box.both(10, 20));

まぁタイトル通り。

まず、オブジェクトを作成しました。プロパティ、高さ、長さに合わせて作られています。それぞれに値を割り当てます。メソッドを両方作成 関数に、オブジェクトのプロパティである 2 つの引数を入れます。製品を返品しました。そして最後に数値を与える関数を呼び出しました..

なぜこれが機能しないのですか:(

4

3 に答える 3

4

問題は:

box.both=function(box.height,box.length){

box.heightおよびbox.lengthは、関数パラメーターの有効な名前ではありません。これは次のようになります。

box.both=function(h, l) {
   return h * l;
}

ただし、現在のボックス インスタンスの面積を取得しようとしているようです。その場合、パラメーターは必要ありません。

box.both=function() {
   return this.height * this.length;
}

document.write(box.both());
于 2013-10-23T23:03:29.783 に答える
1

おそらくこのようにしたいと思います:

box = new Object();
box.height = 30;
box.length = 20;

box.both = function(height,length){
    this.height = height;
    this.length = length;
    return height*length;
}

document.write(box.both(10,20));
于 2013-10-23T23:05:57.857 に答える
0
box = new Object();
box.height = 30;
box.length = 20;

box.both = function() {
    return box.height * box.length;
}
于 2013-10-23T23:08:19.463 に答える