this 是 JavaScript 中的一个关键字,指向当前的对象,在不同的场合,this 有不同的含义。
全局环境中的this
在全局环境中,this 指向全局对象Global,即 window 对象。例如:
1 alert(this); // 显示 [object Window] 2 alert(this === window); // 显示 true
事件处理中的this
在事件处理函数中,this 指向当前节点,即绑定事件的节点。
在DOM元素中直接绑定事件,例如:
1 <input type="button" value="点击这里显示this" onclick="alert(this)" /> 2 <!-- 显示 [object HTMLInputElement] -->
在JS代码中绑定事件处理函数,例如:
<input id="demo" type="button" value="点击这里显示this" /> <script type="text/javascript"> document.getElementById("demo").onclick = function(){ alert(this); // 显示 [object HTMLInputElement] } </script>
构造函数中的this
在构造函数中,this 指向被创建的对象。
1 var user = "xiaoming"; 2 function ItXueyuan(user){ 3 this.name = "IT学院"; 4 this.domain = "www.itxueyuan.org"; 5 this.user = user; 6 this.showUser = function(){ 7 alert(this.user); 8 } 9 } 10 var zhangsan = new ItXueyuan("zhangsan"); 11 zhangsan.showUser(); // 显示"zhangsan" 12 13 var wangming = new ItXueyuan("wangming"); 14 wangming.showUser(); // 显示 wangming