this

参考网站: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>
原文地址:https://www.cnblogs.com/chenluomenggongzi/p/6116699.html