绑定javascript对象属性

时间:2012-10-26 17:40:16

标签: javascript oop binding

  

可能重复:
  Why does javascript object show different values in console in 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”,我在这里使用的机制是什么?

1 个答案:

答案 0 :(得分:4)

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