0

可能重复:
为什么 javascript 对象在 Chrome、Firefox、Safari 的控制台中显示不同的值?

我对使用 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>

现在,这里有什么技巧?

  1. 为什么我两次都看到“Doe”显示?
  2. 为了第一次显示“John”而第二次显示“Doe”,我必须在这里使用什么机制?
4

1 回答 1

4

console.log()不一定会记录变量在您尝试记录它时的值。

于 2012-10-26T17:43:42.057 回答