当前位置: 首页 > news >正文

认识JavaScript中的this

很多同学在学习编程时, 特别是零基础的同学, 在学到web阶段 JavaScript课程过程中, 对于关键字 this, 很不理解, 不知道该如何简单明了的理解并学习这个知识点, 那么今天我们就一起来分析一下 JavaScript中this关键字到底是个什么鬼

this是Javascript语言的一个关键字。那么this到底是真名呢?简而言之,this指的是函数的调用者。看一个例子:
var name = "张三";
function test() {
console.log(this.name);
}
var person = new Object();
person.name = "李四";

test.call();
test.call(person);
大家看一下结果是什么。第一个log是张三,第二个是李四。

我们分析一下,test.call();是window调用了test方法,所以在第一次执行test函数时,this指的是window对象,第二次调用test方法是test.call(person);这时调用test函数的对象时person,此时函数中的this指的就是person对象。

我们再看一个例子:
function test2() {
this.x = 1;
}
var o = new test2();
console.log(o.x);
log结果是1。
通过构造方法生成一个新的对象o,此时该构造方法中的this指的就是这个新生成的对象。
那么现在你对”this指的是函数的调用者”这句话理解了吗?

转载于:https://blog.51cto.com/13517854/2048021

相关文章:

  • 数据拷贝的实现
  • redis遇到过的问题汇总(持续更新)
  • [Erlang 0129] Erlang 杂记 VI 2014年10月28日
  • 13.Zookeeper的java客户端API使用方法
  • vue-loader 源码解析系列之 selector
  • 一行一行读Java源码——迭代器
  • asp.net core ef core mysql 新增数据并发异常处理
  • xshell连接Ubuntu系统
  • 多维分析的后台性能优化手段
  • 企业级自动化运维工具应用实战-ansible
  • 网络编程 与 面向对象
  • MapGIS6.7投影生成线-以物化探综合剖面图为例
  • C# 编码命名规则
  • HttpClient超时机制(安全问题处理:访问超大文件控制)
  • 关于如何在ElementUI中实现统计Table筛选结果数量
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【个人向】《HTTP图解》阅后小结
  • ES2017异步函数现已正式可用
  • es6
  • Fabric架构演变之路
  • js继承的实现方法
  • mysql_config not found
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Twitter赢在开放,三年创造奇迹
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 和 || 运算
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 最简单的无缝轮播
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​水经微图Web1.5.0版即将上线
  • #Linux(Source Insight安装及工程建立)
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (1)虚拟机的安装与使用,linux系统安装
  • (LeetCode C++)盛最多水的容器
  • (十六)串口UART
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .net CHARTING图表控件下载地址
  • .Net6 Api Swagger配置
  • .net的socket示例
  • .NET开源快速、强大、免费的电子表格组件
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • @RunWith注解作用
  • @软考考生,这份软考高分攻略你须知道
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [2016.7 day.5] T2
  • [CERC2017]Cumulative Code
  • [codeforces]Levko and Permutation
  • [Docker]六.Docker自动部署nodejs以及golang项目
  • [HTML]Web前端开发技术29(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [IE编程] WebBrowser控件的多页面浏览(Tabbed Browsing)开发接口
  • [iOS]iOS获取设备信息经常用法