私はこのセッターを持っていますが、なぜ値を設定するのかわかりません、そしてそれは変わりません:
this.setHead = function(head){
console.log('Head: x:'+this.getHead().getX()+' y:'+this.getHead().getY());
console.log('temp Head: x:'+head.getX()+' y:'+head.getY());
this.head = head;
console.log('Head: x:'+this.getHead().getX()+' y:'+this.getHead().getY());
}
そして、Chromeログの結果は次のとおりです。
Head: x:5 y:10 // old value
temp Head: x:1 y:7 //temporary value decide to copy
Head: x:5 y:10 // and the new valụe : NO CHANGE
そのJavascriptパスオブジェクトを参照で読んだことがありますが、Javaとの違いはわかりません。そうでなければ、なぜそれが起こるのか分かりません。教えてください。
ありがとう :)
@編集済み:ログの行を追加しましたが、奇妙な結果が表示されます:
console.log('Head: x:'+this.head.getX()+' y:'+this.head.getY());
Head: x:1 y:7
下の行と同じだと思うので不思議ですが、そうではありません
console.log('Head:x:' + this.getHead()。getX()+'y:' + this.getHead()。getY());
そして私のgetHead()
は:
this.getHead = function() {
return head;
}