方法调用模式

时间:2017-04-08 10:58:29

标签: javascript methods invocation

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


myObject.increment( );
document.writeln(myObject.value); //1

myObject.increment(2);
document.writeln(myObject.value); //3

我能理解这个功能。

但是我很难理解为什么第二次通话的结果是3? 因为在我看来,结果应该是2。

在我脑海中的过程看起来像这样:

var myObject = {
    value:0,
    increment: function(2){
        0 += 2;}
};

结果我认为应该是2,但是3 instand的原因是什么。

1 个答案:

答案 0 :(得分:0)

请认为它是单身的json

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

然后你打电话给

myObject.increment( );
 document.writeln(myObject.value); //1

哪个更新对象为

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

现在你叫这个

myObject.increment(2);
document.writeln(myObject.value); //3

所以现在它将按预期进行3