为什么这个对象不起作用?

时间:2013-10-23 23:00:47

标签: javascript html arguments

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个参数作为对象属性。 退回了他们的产品。 最后调用函数给它数值..

为什么这不起作用:(

3 个答案:

答案 0 :(得分:4)

问题是:

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

box.heightbox.length不是函数参数的有效名称。这应该是:

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

但是,您似乎可能希望获得当前框实例的区域。在这种情况下,您不需要任何参数:

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

document.write(box.both());

答案 1 :(得分: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));

答案 2 :(得分:0)

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

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