定义: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. Python正则表达式:match(),search(),findall()与finditer()的用法
  2. SystemCenter2012SP1实践(6)SCVMM管理XenServer
  3. 用 C 语言开发一门编程语言 — 条件分支
  4. 自定义字符串变量赋值在查询语句中使用
  5. 【Apache Mina2.0开发之二】自定义实现Server/Client端的编解码工厂(自定义编码与解码器)!...
  6. [Qt教程] 第39篇 网络(九)进程和线程
  7. 电脑音响怎么插_厦门靓车港丰田凯美瑞汽车音响改装德国HELIX汽车音响|凯美瑞|音响改装|汽车|内饰...
  8. 今天闲来无事给我这老伙计A4L换个机油
  9. 10个可以简化开发过程的MySQL工具
  10. android程序大牛,冲向大牛之安卓:学习界面怎么在程序中画出来
  11. 【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型
  12. 李安的电影梦by李安
  13. 数据结构 | 链表:1097 删除重复元素
  14. playframe 项目搭建
  15. TensorFlow 教程 --进阶指南--3.6增加一个新 Op
  16. JQuery动态循环绑定事件
  17. java shell文件_JAVA执行bat文件和shell脚本文件
  18. 计算机网络中的www服务,计算机网络基础练习题01
  19. Texlive安装宏包
  20. Hibernate中的一级缓存、二级缓存和懒加载

热门文章

  1. 慧材技术中核普达测量与测绘系统介绍(一)
  2. python的flask服务器修改,python-Nginx,uWSGI,Flask应用程序直到服务器重启后才会显示更改...
  3. echarts 三环圆环_echarts实现环形进度图
  4. 哎呀你不要把他叫出来_不吼不叫,学会这3个亲子互动方法,孩子不专注都难...
  5. Java jar 版本 查看
  6. 魅族加入华为鸿蒙系统,华为鸿蒙正式开放系统 魅族表态加入却非手机 很是耐人寻味...
  7. 2022年软考信息安全工程师考试备考指南
  8. 读取properties文件,中文乱码
  9. 在d3中使用2D.js获取图形间的交点
  10. teamviwer安装提示 Verification of your Teamviewer version failed!.