JavaScript--函数中this的几种指向
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 // 普通函数调用 8 function fn() { 9 console.log("普通函数调用", this); // 输出window 10 } 11 /* 12 * window.fn = function() {} 13 * */ 14 fn(); 15 16 // 构造函数调用 17 function Person() { 18 console.log("构造函数调用", this); // 输出Person对象,指向自己 19 } 20 var p1 = new Person(); 21 22 // 对象方法调用 23 var obj = { 24 sayHi:function () { 25 console.log("对象方法调用", this); // 输出obj对象 26 } 27 }; 28 obj.sayHi(); 29 30 // 事件绑定调用 31 document.onclick = function () { 32 console.log("事件绑定调用方法" , this); // #document 33 } 34 35 // 定时器函数调用 window.setInterval 36 // 37 setInterval(function () { 38 console.log("定时器函数调用", this); // window 39 },1000) 40 41 42 /*在严格模式下普通函数调用会不行出现undefined*/ 43 </script> 44 </head> 45 <body> 46 47 </body> 48 </html>