JS的this关键字
JavaScript中的this关键字是一个难以琢磨的概念,是一个依赖于它的执行环境而被解析的关键字。简单说就是谁调用这个方法,方法里的this就是谁.
1,在JS文件中直接alert(this);this代表的是window,当前的执行环境是在JS的顶层域里面。
2,下面这个例子中this指向的是调用该方法的对象,button标签。
<script type="text/javascript">function test() {alert(this.value);this.style.color = "red";}
</script></head>
<body><input type="button" id="ipt" value="test this"><script type="text/javascript">document.getElementById("ipt").onclick = test;</script>
</body>
</html>
上面的例子等价于下面的例子,document.getElementById("ipt").onclick相对于把test函数变成了id为 ipt元素的一个函数属性了,从而让this指向了id为 ipt元素。但是如果写成<input type="button" id="ipt" οnclick="test()" value="test this">这样的方式调用test方法,this却是指向了window。(不明白?直接指定的话没有JS环境绑定?)
<script type="text/javascript">function test() {alert(this.value);this.style.color = "red";}
</script></head>
<body><input type="button" id="ipt" value="test this"><script type="text/javascript">var button = document.getElementById("ipt");test.call(button);</script>
</body>
</html>
3,在一个函数中,this代表这个函数的执行环境
function Test(){alert(this);
}Test();//outputs windowvar obj = new Test(); // outputs object
Test()是在window域里执行的,其等价于window.Test();
var obj = new Test(); 其相当于 obj.Test();
JS的this关键字相关推荐
- JS中this关键字
JS中this关键字 this是javascript的一个关键字,随着函数使用场合不同,this的值会发生变化.但是总有一个原则,那就是this指的是调用函数的那个对象. 1.全局代码中的this a ...
- js根据数据关键字实现模糊查询功能
js根据数据关键字实现模糊查询功能 模糊查询 实现模糊查询功能的步骤和一般方法 第一步:创建假数据或请求接口数据 第二步:分析数据格式,处理数据 第三步:验证功能 完整代码 模糊查询 模糊查询功能是指 ...
- JS中this关键字详解
本文主要解释在JS里面this关键字的指向问题(在浏览器环境下). 阅读此文章,还需要心平气和的阅读完,相信一定会有所收获,我也会不定期的发布,分享一些文章,共同学习 首先,必须搞清楚在JS里面,函数 ...
- 深入理解JS中this关键字
为什么要使用this关键字 看个例子 function indetify() {retun this.name.toUpperCase()}var obj = {name: 'zz'}indetify ...
- JS 基础 —— JavaScript 关键字(keyword)与保留字
转载于: JavaScript 关键字(keyword)与保留字 一.JavaScript 所有关键字: break case catch continue default delete do els ...
- js中的关键字总结呢
1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4. ...
- js中的关键字和保留字
前两天面试官问了我一道题:你知道js有哪些保留字吗? 当时自己就说了abstract,try,catch,this,其中最重要的就是this这个关键字了. 然后面试官问,你说的this是关键字,我问的 ...
- JS标识符、关键字、保留字
1.标识符 标识符:是指开发人员为变量.属性.函数.参数取的名字. 标识符不能是关键字和保留字 2.关键字 是指JS本身已经使用了的字 , 不能在用他们充当变量名.方法名 包括:break . cas ...
- new 实例化对象是啥意思_前端经典面试题解密:JS的new关键字都干了什么?
写在前面: new关键字在实例化获取对象时都做了什么?是一道经常出现在前端面试时的问题.如果只是简单的了解new关键字是实例化构造函数获取对象,是万万不能够的.更深入的层级发生了什么呢?同时面试官想从 ...
最新文章
- [转]C++基础:C++的结构struct
- ISO9000管理体系认证申请书
- 如何使用APTonCD备份和还原已安装的Ubuntu软件包
- php 下拉表单,PHP表单和填充下拉列表问题
- Spring4:具有Java 8 Date-Time API的@DateTimeFormat
- TiDB集群大规模删除实践
- 天猫精灵可以当电脑音响吗_阿里投百亿砸天猫精灵,马云的物联网野心能靠智能音箱撑起来吗?...
- Sysbench 性能压测-MySQL
- 八皇后(N皇后)问题
- iis绑定php程序应用池设定,什么是IIS应用程序池以及应用程序池详解
- 《MFC游戏开发》笔记五 定时器和简单动画
- Jquery 判断IE
- 【真题21套】计算机二级公共基础知识选择题真题【含解析】
- var模型可以用spss做吗_VAR模型一般几个变量
- android记账系统预算功能,怎么挑选合适的 Android 记账应用?你可以从记账需求入手...
- 【python】利用脚本抓取steam限时免费游戏
- 点阵字库怎样才能做到字符显示更紧凑?
- Transformer结构的初步探索
- 洛谷P1551亲戚题解
- C++骰子游戏课程设计(含源码)
热门文章
- SVN各种异常解决整理
- 深入理解JVM—满足什么条件的对象才会进入老年代?
- 学习kotlin的一些笔录7
- android webview访问本地文件
- asp毕业设计——基于ASP+IIS+sqlserver的房屋租售信息管理系统设计与实现(毕业论文+程序源码)——房屋租售信息管理系统
- Removing the Bias of Integral Pose Regression 阅读笔记
- 移动机器人算法python实例 -- 开源项目推介
- IT小张:一台交换机和“隐秘的角落”不得不说的关系
- vue项目将多张图片生成一个gif动图
- 【问题记录】警告:DownloadWarning: Downloading: https://naciscdn.org/naturalearth/110m/physical/ne_110m_land.