重複の可能性:
Chrome、Firefox、Safariのコンソールでjavascriptオブジェクトが異なる値を表示するのはなぜですか?
私はjavascriptのOOP概念を使用するのはまったく新しいです。javascriptプロパティのバインディングを理解しようとしています。javascriptは以下のコードを順番に実行しますか?
// main.js
function NameClass(){
this.name = "John"
this.age = 25
}
NameClass.prototype.change_my_name = function(new_name){
this.name = new_name
}
NameClass.prototype.change_my_age = function(new_age){
this.age = new_age
}
// main.html
<html>
<head>
<title>Javascript tutorial</title>
<script src="main.js"></script>
<script>
var nc = new NameClass()
console.log("nc before modification")
console.log(nc) // Prints Doe
nc.change_my_name("Doe")
console.log("nc after modification")
console.log(nc) // Prints Doe
</script>
</head>
<body></body>
</html>
さて、ここでのトリックは何ですか?
- 「Doe」が両方の時間に表示されるのはなぜですか?
- 最初に「John」を表示し、2回目に「Doe」を表示するためにここで使用するメカニズムは何ですか?