全局环境中的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.gjkd365.com"; 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
注意,this 不能被赋值,下面的代码是错误的:
this = "itxueyuan";