0
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
この機能を理解できます。メソッド呼び出しパターン
しかし、なぜ2番目のコールの結果が3であるのか理解できないのですか?私の頭の過程2.
はこのように見ているべきであるつながるので、私の心の中で :
var myObject = {
value:0,
increment: function(2){
0 += 2;}
};
そして、私の意見では結果は2でなければなりませんが、何が3 instandことが理由です。
オブジェクトの 'value'はインクリメントの最初の呼び出しで増加したので、' myObject.increment(2) 'が'実行される。 –
ありがとうございます...オブジェクトが最初の呼び出し後に彼の価値を覚えているかどうかはわかりませんでした。 – David