2016-10-27 3 views
1

согласно 1, Когда мы вызываем метод инкремента. a увеличивается с заданным параметром в функцию, если ни один параметр не передается, то он равен 1.Изучение JavaScript при написании кода

Но согласно 2, когда я пишу код, как показано ниже, a не inc, всегда только 1. Почему ?? .... Пожалуйста решить эту проблему ....

// 1 
var Obj1 = { 
    a: 0, 
    increment: function(inc) { 
     this.a += typeof inc === 'number' ? inc : 1; 
    } 
}; 

// 2 
var Obj1 = { 
    a: 0, 
    increment: function(inc) { 
     this.value = this.a + typeof inc === 'number' ? inc : 1; 
    } 
}; 

ответ

1

, когда я пишу код, как ниже, не вкл, всегда только один. Зачем??

Потому что вы никогда не назначая любое новое значение a

Сделать

var Obj1 = { 
    a: 0, 
    increment: function (inc) { 
     this.a = this.value = this.a + typeof inc === 'number' ? inc : 1; 
    } 
}; 

или

var Obj1 = { 
    a: 0, 
    increment: function (inc) { 
     this.value = this.a + typeof inc === 'number' ? inc : 1; 
     this.a = this.value; 
    } 
}; 
0

я не знаю, почему вам нужно значение, но

var Obj1 = { 
    a: 0, 
    increment: function (inc) { 
     this.a = this.a + typeof inc === 'number' ? inc : 1; 
    } 
    }; 
Смежные вопросы