가능한 중복은 :
Why does javascript object show different values in console in Chrome, Firefox, Safari?자바 스크립트 객체의 바인딩 속성
나는 자바 스크립트의 OOP 개념을 사용하는 아주 새로운 해요. 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
예, 크롬을 사용하고 있습니다. – Vineeth
'nc.name'을 대신 기록하십시오. – Shmiddty