JS基础_this

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <script type="text/javascript">
 7         
 8             /*
 9              * 解析器在调用函数每次都会向函数内部传递进一个隐含的参数,
10              *     这个隐含的参数就是this,this指向的是一个对象,
11              *     这个对象我们称为函数执行的上下文对象
12              *     
13              *  根据函数的调用方式的不同,this会指向不同的对象
14              *         1.以函数的形式调用时,this永远都是window
15              *         2.以方法的形式调用时,this就是调用方法的那个对象
16              */
17             
18             
19             function fun(){
20                 console.log(this);//[object Window]
21             }
22              
23             fun();
24             
25             //-----------------------------------------------------------------------------------
26             
27             function fun2(){
28                 console.log(this);
29                 console.log(this.name);//孙悟空
30             }
31             
32             
33             //创建一个对象  
34             var obj = {
35                 name:"孙悟空",
36                 sayName:fun2
37             };
38             
39             console.log(obj.sayName == fun2);//true
40             
41             //调用的是同一个函数,结果却不同,根据函数的调用方式的不同,this会指向不同的对象
42             obj.sayName(); //[object Object] 
43             
44             fun2();//[object Window]
45             
46              
47             
48         </script>
49     </head>
50     <body>
51     </body>
52 </html>

 

posted @ 2017-10-24 22:29  星辰郎周  阅读(293)  评论(0编辑  收藏  举报