this 是 JavaScript 中的一个关键字,指向当前的对象,在不同的场合,this 有不同的含义。
全局环境中的this在全局环境中,this 指向全局对象Global,即 window 对象。例如:
alert(this); // 显示 [object Window]
alert(this === window); // 显示 true
事件处理中的this
在事件处理函数中,this 指向当前节点,即绑定事件的节点。
在DOM元素中直接绑定事件,例如:
<input type="button" value="点击这里显示this" onclick="alert(this)" />
<!-- 显示 [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 指向被创建的对象。
var user = "xiaoming";
function ItXueyuan(user){
this.name = "IT学院";
this.domain = "www.itxueyuan.org";
this.user = user;
this.showUser = function(){
alert(this.user);
}
}
var zhangsan = new ItXueyuan("zhangsan");
zhangsan.showUser(); // 显示"zhangsan"
var wangming = new ItXueyuan("wangming");
wangming.showUser(); // 显示 wangming