参考网站:http://www.jb51.net/article/71155.htm
一、js this可以修改其指向
运用 call/apply 详情参考 http://www.cnblogs.com/chenluomenggongzi/p/5794846.html
二、this在函数下和闭包下的指向
函数下:指向当前函数,(这也就引出了类定义,即另外一个js文件中的函数用于创建对象)
闭包下:指向window
三、标签事件
1,指向window的:
1 <input type="text" id="input" onclick="test()"> 2 <script> 3 function test() { 4 console.log(this); //window 5 } 6 </script>
2,指向当前对象(标签)
1 <input type="text" id="input" onclick="test(this)"> 2 <script> 3 function test() { 4 console.log(arguments[0].id); // input 5 } 6 </script>
四、使用addEventListener,使其指向自身
1 <input type="text" id="input"> 2 <script> 3 var input=document.getElementById("input"); 4 function test() { 5 console.log(this); //input标签 6 } 7 input.addEventListener("click",test); 8 </script>