我对使用 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”而第二次显示“Doe”,我必须在这里使用什么机制?