2016-03-18 5 views
-2

Мне нужно все 3 консольных журнала, чтобы вернуть true. Это код, который у меня есть:Функция увеличения Javascript не работает

   var obj = { 
        value: 1, 
        increment: function(obj) { 
        this.value += 1; 
        } 
       } 
       console.log (obj.increment() == 2); 
       console.log (obj.increment() == 3); 
       console.log (obj.increment() == 4); 

Мне разрешено изменять код внутри функции приращения. Я попробовал this.value + = 1, но по какой-то причине это возвращает «4», и я не могу понять, почему. Это часть небольшого упражнения, и я застрял на этом ... что я делаю неправильно?

+4

Вы забыли оператор 'return' в' increment() '. –

+0

Что, черт возьми, я попробовал вернуть this.value + = 1; раньше, и он не работал, и теперь все это внезапно ... Вздох, спасибо. –

+0

Да, там. ;-) –

ответ

2

Как косоглазия сказал забыл геЬигп ... Так ничего обыкновение появляться, то есть его ни истинным или ложным ... Это на самом деле нужно значение не только функция ..

var obj = { 
        value: 1, 
        increment: function(obj) { 
        this.value += 1; 
        return this.value; 
        } 
       } 
       console.log (obj.increment() == 2); 
       console.log (obj.increment() == 3); 
       console.log (obj.increment() == 4); 

Теперь вот его возвращая фактическое значение ... так будет его делать это (в основном):

console.log(obj.value == 2) 
console.log(obj.value == 3) 
console.log(obj.value == 4) 

Тогда каждый раз, как вы увеличиваем

0

Как было отмечено выше, ваш отсутствующий параметр Return. Вы указали переменную внутри функции, но вам нужно добавить что-то вроде {this.value + = 1; return obj;}, если вы хотите вернуть true/false вместо индекса. Какое значение вам нужно было вернуть?
@Dsafds может уже иметь ваш ответ.

Смежные вопросы