Почему этот объект не работает?

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));

Ну, как говорится в названии.

Сначала я создал объект. Сделано по свойствам, высоте и длине. Назначение значения каждому. Сделал метод BOTH В функции я бы поставил 2 аргумента, которые являются объектными свойствами. Вернул свой товар. И, наконец, называется функцией, дающей ему численное значение.

Почему это не работает :(

Теги:
arguments

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());
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));
0
box = new Object();
box.height = 30;
box.length = 20;

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню