继承过程中对函数中this的认识

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6 </head>
 7 <body>
 8     <script>
 9 var a = {
10     x:10,
11     cc:function(z){
12         return this.x+this.y+z
13     }
14 }
15 var b = {
16     x:100,
17     y:20,
18     __proto__:a
19 }
20 var c = {
21     // x:10000,
22     y:30,
23     __proto__:a
24 }
25 var ww = b.cc(30);
26 var ww2 = c.cc(30);
27 console.log(ww)
28 console.log(ww2)
29 /*
30 注意一点,this这个值在一个继承机制中,仍然是指向它原本属于的对象,而不是从原型链上找到它时,它所属于的对象。例如,以上的例子,this.y是从b和c中获取的,而不是a。当然,你也发现了this.x是从a取的,因为是通过原型链机制找到的。
31 */
32     </script>
33 </body>
34 </html>

 

posted @ 2015-11-02 01:57  挥刀  阅读(198)  评论(0编辑  收藏  举报