1、this总是指向函数的直接调用者(而非间接调用者);
2、如果有new关键字,this指向new出来的那个对象;
3、在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象
Window;
看看下边几个例子,或许可以更好的理解this对象
this的指向

this表示当前对象,this的指向是根据调用的上下文来决定的,默认指向window对象
全局环境
全局环境就是在<script></script>里面,这里的this始终指向的是window对象,
<script>console.log(this)</script> 指向window对象
局部环境

在全局作用域下直接调用函数,this指向window
<script>
function func(){
console.log(this) ;//this指向的还是window对象
}
func();
</script>
对象函数调用,哪个对象调用就指向哪个对象

<input type="button"id="btnOK" value="OK">
<script>
varbtnOK=document.getElementById("btnOK");
btnOK.onclick=function(){
console.log(this);//this指向的是btnOK对象
}
</script>
使用 new 实例化对象,在构造函数中的this指向实例化对象。

<script>
var Show=function(){
this.myName="Mr.Cao"; //这里的this指向的是obj对象
}
var obj=new Show();
</script>
使用call或apply改变this的指向

<script>
var Go=function(){
this.address="深圳";
}
var Show=function(){
console.log(this.address);//输出 深圳
}
var go=new Go();
Show.call(go);//改变Show方法的this指向go对象
</script>

最新文章

  1. 如何一步一步用DDD设计一个电商网站(七)—— 实现售价上下文
  2. 通过broadcastreceiver 监听短信问题
  3. 正确匹配URL的正则表达式
  4. Balance
  5. ARM的启动和中断向量表
  6. Gprinter Android SDK V2.1.4 使用说明
  7. 关于BitmapFactory.decodeStream(is)方法无法正常解码为Bitmap对象的解决方法
  8. python 、mmap 实现内存数据共享
  9. 原生态JS实现banner图的常用所有功能
  10. 阿里云API网关(16)客户端请求的https支持
  11. ibatis的优缺点及可行性分析
  12. 【Python实践-2】求一个或多个数的乘积
  13. C#基础知识之String,Stringbuilder和Stringbuffer
  14. zabbix通过自动发现tomcat应用端口监控连接数
  15. C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern)。
  16. 【388】※ Some useful websites for learning Python
  17. springboot配置il8n
  18. IDEA安全编码组件
  19. .net core signalR 忽略https 证书
  20. Java JDK下载安装及配置

热门文章

  1. MySQL DataType--隐式类型转换
  2. systemctl 常用操作
  3. 在线研讨会预热 | 基于ASPICE&amp;CNAS的单元测试介绍
  4. 怎样制作一个 Python Egg
  5. 使用Nuget生成类库
  6. .net框架 - Enum枚举
  7. Linux命令基础5-文件重定向
  8. zmq使用记录
  9. [RxJS] Groupby operator
  10. Linux 服务器用户间ssh免密码登录