JS基礎_this
阿新 • • 發佈:2017-10-25
type 不同的 body 指向 object 調用 round 都是 col
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>
JS基礎_this