2015-02-22 3 views
-2
function Money(bill, accu, hb, food, webHosting, lynda) { 
    Money.bill = bill; 
    Money.accu = accu; 
    Money.hb = hb; 
    Money.food = food; 
    Money.webHosting = webHosting; 
    Money.lynda = lynda; 
    Money.total = function() { 
    (Money.bill + Money.accu + Money.hb + Money.food + Money.webHosting + Money.lynda) 
    return Money.total; 
    }; 
} 
var cost = new Money(2500, 5000, 2000, 6000, 1000, 30000); 
Money.total(); 

Я определил все для объекта, используя переменную в конце. Когда я запускаю Money.total (метод объектов «деньги»), он возвращается как «функция» « Пожалуйста, помогите. Я хочу, чтобы все было в целом.JavaScript «Метод объекта»

+1

потому что вы возвращаете функцию 'Money.total' ..., вашу линию над этим, то есть фактическая математика просто выполняет математику, а затем ничего не делает с ней. –

ответ

0

Вы должны использовать this вместо `Деньги» для чтения свойств/записи вновь созданного объекта:

function Money(bill, accu, hb, food, webHosting, lynda) { 
    this.bill = bill; 
    this.accu = accu; 
    this.hb = hb; 
    this.food = food; 
    this.webHosting = webHosting; 
    this.lynda = lynda; 
    this.total = function() { 
     return this.bill + this.accu + this.hb + this.food + this.webHosting + this.lynda; 
    } 
} 

Неясно, что вы пытаетесь сделать с „общим методом“. Если вы можете описать то, что должно было делать, то мы могли бы помочь с этой реализацией, но я представил реализацию, которая суммирует свойства.

+0

@JokerSpirit - Это ответ на ваш вопрос? Поскольку похоже, что вы, возможно, новичок в StackOverflow, знаете ли вы, что если вы ответили на свой вопрос, тогда вы должны выбрать лучший ответ и нажать зеленую галочку слева от ответа. Это сообщит сообществу о том, что на ваш вопрос был дан ответ, и заработали как вы, так и человек, предоставивший ответ с некоторыми точками репутации. – jfriend00