JavaScript:this是什么?

定义:this是包含它的函数作为方法被调用时所属的对象。
说明:这句话有点咬嘴,但一个多余的字也没有,定义非常准确,我们可以分3部分来理解它!
1、包含它的函数。2、作为方法被调用时。3、所属的对象。
看例子:
function to_green(){
this.style.color="green";
}
to_green();

上面函数中的this指的是谁?
分析:包含this的函数是,to_green
该函数作为方法被调用了
该函数所属的对象是。。?我们知道默认情况下,都是window对象。
OK,this就是指的window对象了,to_green中执行语句也就变为,window.style.color="green"
这让window很上火,因为它并没有style这么个属性,所以该语句也就没什么作用。
我们再改一下。

window.load=function(){
var example=document.getElementById("example");
example.onclick=to_green;
}
这时this又是什么呢?
我们知道通过赋值操作,example对象的onclick得到to_green的方法,那么包含this的函数就是onclick喽,
那么this就是example引用的html对象喽。
this的环境可以随着函数被赋值给不同的对象而改变!
下面是完整的例子:
<script type="text/javascript">
function to_green(){
this.style.color="green";
}
function init_page(){
var example=document.getElementById("example");
example.onclick=to_green;
}
window.onload=init_page;
</script>
<a href="#" id="example">点击变绿</a>

 

参考资料: http://hi.baidu.com/tkocn/blog/item/7c66bd02f7395b084afb5150.html

最新文章

  1. CentOS安装配置redis
  2. js的stopPropagation()、cancelBubble、preventDefault()、return false的分析
  3. PHP: 深入pack/unpack
  4. 搭建 Hexo Blog
  5. 公测后,微信小程序应用可能被拒原因.
  6. 【读书笔记】iOS-查看一个软件ipa包的内容
  7. hdu-5927 Auxiliary Set(树形dp)
  8. .Net 垃圾回收和大对象处理
  9. MIME协议
  10. 开发随笔——NOT IN vs NOT EXISTS
  11. j2ee的十三种技术
  12. C socket udp方式发数据
  13. Matlab命令行编译运行HelloWorld
  14. [LeetCode] Range Sum Query - Mutable 题解
  15. HTML-JS基础 变量与输入输出 运算符 分支结构
  16. MVC基本开发介绍 (1)列表展示
  17. (55)Wangdao.com第八天_JavaScript 字符串中使用 \u 输出Unicode字符
  18. centos7+openvpn+easy3.0
  19. 第三部分:Android 应用程序接口指南---第二节:UI---第十一章 样式和主题
  20. 转:java 委托

热门文章

  1. Centos防火墙禁止ping和开启ping
  2. HTTPS 进阶
  3. 关于sed用法
  4. 解决Entity Framework中DateTime类型字段异常
  5. 群晖SVN Server远程访问
  6. C++求一个十进制的二进制中1的个数
  7. 轻量级ORM-Fluentdata入门
  8. 随手记一次利用webbowser控件打开网页后cookie读取与设置
  9. web前端程序员真的值这么多钱吗?
  10. jqgrid笔记