定义: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.οnclick=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.οnclick=to_green;
   }
   window.οnlοad=init_page;
</script>
<a href="#" id="example">点击变绿</a>

转载于:https://www.cnblogs.com/spectre/archive/2013/03/14/2959287.html

JavaScript:this是什么?相关推荐

  1. 【AJAX】JavaScript的面向对象

    Ajax中后端数据返回后需要前端通过JavaScript来实现动态数据更新的问题.所以,在Ajax中加深了一遍JavaScript面向对象的印象. 基础部分: JavaScript中创建对象并简单对象 ...

  2. 【JavaScript总结】JavaScript语法基础:JS高级语法

    作用域链: 1.JS中只有函数能够限定作用域的范围: 2.变量处理在制定的函数范围内,还有一个特殊的作用域,就是没有用var 声明的全局作用域 3.js中的作用域链是为了清晰的表示出所有变量的作用范围 ...

  3. 【JavaScript总结】JavaScript语法基础:DOM

    ->DOM的理解:文档对应dom树 ->有了DOM能做什么:DOM的操作 html文档做为DOM树模型,DOM树的节点就是对象.对象会触发事件来执行一些事件代码. C#中的事件是一个委托变 ...

  4. 【JavaScript总结】JavaScript语法基础:JS编码

    运算符 数学:+. -. *. / 逻辑:>. < .>= .<=. == . !=.&&.|| . === .!==(完全等于) 对象相关 new delet ...

  5. 【JavaScript总结】JavaScript语法基础:数据类型

    ------>数据类型有哪些? ->基本类型:数字类型,布尔类型,字符串类型 ->引用类型:对象类型,函数类型 ->空类型:null 和 undefined ->运算符: ...

  6. 【JavaScript总结】JavaScript发展与学习内容

    发展: 最初浏览器是为大学里浏览文档用,从地址栏输入文档地址,找到文档显示. 后来各种需求(购物网站,个人博客)出现,已有功能不能满足需求. 可人们依旧在努力满足这种需求,但实现后的效果很不尽人意. ...

  7. Python:模拟登录、点击和执行 JavaScript 语句案例

    案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...

  8. [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)

    课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...

  9. [JavaScript] JavaScript 数组挖掘,不只是讲数组哟

    课程来源:后盾人 数组引用类型分析 数组的定义 const array = new Array('hello', 'dust', 1, 2, 3, 4, 5) console.log(array) l ...

  10. linux下用js生成xml,js2xml:将javascript字符串转换为xml

    有时候爬数据遇到像下面这种,数据在script标签中以javascript形式存在. var totalReviewsValue = 32; var averageRating = 4.5; if(t ...

最新文章

  1. (十二)struts2的类型转换
  2. postgresql 基础sql
  3. P2831 愤怒的小鸟
  4. mysql 创建用户远程连接
  5. 江苏python工资一般多少_会计行业一般工资多少?
  6. SpringBoot profile配置
  7. 2_6 CompositeMode.cpp 组合模式
  8. Mockito框架学习 - how does expected annotation work
  9. vlan为什么能隔离广播域_【思唯网络学院】VLAN是二层技术还是三层技术?
  10. 自动光学检测系统(AOI)光学成像系统设计
  11. 多源多目标统计信息融合 目标跟踪 信息融合 贝叶斯滤波总结
  12. 如今表情包的天下,曾经可是颜文字和Emoji的啊...
  13. opencv阈值操作threshold以及图像二值化
  14. 查询宇宙生命的家谱--TaxonKit工具详解
  15. python爬取百度贴吧图片库_python爬取百度贴吧的图片2
  16. Windows11安卓子系统安装软件方法
  17. 再议特斯拉“降价”,性价比还是不行!
  18. 公众号被处罚后排名下滑
  19. python-迭代器_高阶函数
  20. [Samuel Ko]——我的2020年回顾

热门文章

  1. 如何理解SVM | 支持向量机之我见
  2. 曲率多项式转换为直角坐标系
  3. iphone储存空间系统怎么清理_如何清理iPhone的缓存,释放更多存储空间,这些方法你知道吗...
  4. android动画入门,Android动画之入门篇(一)
  5. # 畸变矫正_别让这个细节毁了你的照片,学会正确进行畸变调整
  6. linux添加svn副本目录,关于linux svn添加忽略目录的梗
  7. CentOS 7上安装 MongoDB数据库 4.0.0最新版
  8. linux -rpm,linux 的rpm命令
  9. Win10 20H2正式发布,对比旧版新功能一览
  10. 树莓派zero+mysql_关于树莓派zero的系统安装配置部署