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.ο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>

提问者评价谢谢,解释的很清楚参考资料: http://hi.baidu.com/tkocn/blog/item/7c66bd02f7395b084afb5150.html

来源: <http://zhidao.baidu.com/link?url=lchIZerOjLaDDbyzpJjGc_Z0PudWaKONxEdPD2TXsnRL9PrzG7K9K2urluQkL6QvyZZkjw6t4QwPQ-MwsnE9Ba>

来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/cookray/p/3617303.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. 语义分割--End-to-End Instance Segmentation with Recurrent Attention
  2. GO语言基础之reflect反射
  3. 从源码分析DEARGUI之add_menu
  4. 网络营销常用工具与资源
  5. python getchar,Linux C编程学习:getchar()和getch()
  6. 某个元素的距离页面的左边距_如何提高办公写作效率?先设置好页面上的这4类数据,准没错...
  7. 构造AlertDialog弹出框,根据量值实现然用户选择列表。
  8. 黑客入侵Windows XP的几个常用方法
  9. 群晖5.2php核心设置_只需四步, 黑群晖5.2 NAS 最简明搭建教程
  10. python 海龟图
  11. 学校计算机教室学生使用记录表,学校学生信息技术教学计划
  12. 我们什么时候需要函数隐藏
  13. 库里扛起了勇士对凯尔特人的第四场
  14. JS自写带描述标签云
  15. 转载:Android底部导航栏,三种风格和实现
  16. unzip和zip指令的使用方法
  17. equestresponseservletContext
  18. 外包公司面试门槛高吗?软件测试员进外包公司容易吗?
  19. hpux服务器修改ip地址,如何修改HPUX MP管理口IP地址?
  20. 亚伦斯沃特斯_盒装首席执行官亚伦·莱维(Aaron Levie)胜过科技巨头和股票市场

热门文章

  1. webpack-插件机制杂记
  2. 中国平安“豪赌”科技?从产险业务IT变形计聊起
  3. 新疆乌鲁木齐3D打印智能硬件接活咯
  4. 《自己动手写Docker》书摘之三: Linux UnionFS
  5. OpenCV学习(4) Mat的基本操作(1)
  6. Exchange Server 2003多服务器安装以及管理工具介绍
  7. [转贴]NIOS II 软核中EPCS配置芯片的存储操作
  8. 关于Mobile Wireless Congress 颁发的一个奖项的联想(2)
  9. 坐视——做事——做势
  10. 如何将txt文档插入sql2000数据库