可能重复:
Why does javascript object show different values in console in Chrome, Firefox, Safari?绑定的JavaScript对象的属性
我很新的使用JavaScript的面向对象的概念。我试图了解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”,我在这里使用了什么机制?
我假设你使用的是Chrome?这是Chrome开发人员控制台中记录对象的已知错误。 – Shmiddty
是的,我正在使用chrome! – Vineeth
尝试改为记录'nc.name' – Shmiddty