this指向_js中关于this指向的训练题
this指向是js开发中必须掌握的知识,今天我们就用一道题目来看看你的基础。
各位认为会输出什么呢?请大家先思考不要直接去运行看答案。
实际上会输出:5和2。
首先我们找到method,里面的两段代码实际都是执行了fn函数,只是this对象不同。
(1):第一行fn(),这个毫无疑问,this指向的是window,所以length自然输出5,大家不要看到fn()在obj对象里面调用,就把this认为指向了obj,这是非常错误的;
this指向谁,是在于函数执行时的环境对象,fn()在执行时,他的环境对象依然是window,这里的fn()大家可以理解为window.fn(),是这样进行执行的。
(2):第二行arguments[0]();大家都知道这个对象是获取函数参数列表的,我们调用method一共传入了两个参数,第一个为fn函数,第二个则是10这个数字,arguments[0]则取了fn这个函数变量指针,然后在后面加上()执行了这个函数。
重点是,在arguments中有一个length属性,是记录一共传入几个参数。
所以,这里大家可以理解为:arguments[0]()=arguments.fn();
this对象就是指向了arguments,length也自然是2了。
大家明白了吗,这道题对于this指向还是比较经典的题目,如果这道题可以独立做出来,证明this指向这块,你基本上是过关的。
this指向_js中关于this指向的训练题相关推荐
- java用this指向_java中的this指向?
米琪卡哇伊 this 是一个关键字,在默认情况下,this指向的是这个关键字所处的方法所属的类的实例,同时这个实例即是你调用this时所处的实例:但是在内部类中你也可以显式得修改this的指向,比如: ...
- 手机操作计算机考试题,中招计算机信息技术考试训练题库,MS Word操作题一
Word操作题(一): 进入本题工作目录,请完成以下操作. 1.将标题文字"方圆处世技巧"格式设置为隶书.深蓝色.居中.下划线. 2.将正文文字设置为楷体.四号.行距为1. 5倍行 ...
- JavaScript中的 this指向问题
以下文章均已附上原文链接 ,侵删 文章一:vue中的this指向问题 vue中的this指向问题_JingG459的博客-CSDN博客_vue中this指向问题 最近写项目遇到很多this指向的问题, ...
- 彻底理解js中this的指向
首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然 ...
- 随笔——js中的this指向,apply()与 call()
js中apply和Math.max()函数(原文) apply() Function.apply() 是JS的一个OOP特性,一般用来模拟继承和扩展this的用途,对于上面这段代码,可以这样去理解: ...
- JS 中 this 的指向
为什么要使用this? 解决的问题? 可以先通过一个例子了解下 function speak(){var name = this.nameconsole.log("Hello I am -- ...
- 理解js中的this指向以及call,apply,bind方法
<script> function a(){var user = "追梦子";console.log(this.user); //undefinedconsole.lo ...
- 理解js中this的指向
彻底理解js中this的指向 JavaScript 的 this 指向问题深度解析 转载于:https://www.cnblogs.com/jeacy/p/6509616.html
- $.ligerdialog.open中确定按钮加事件_彻底搞懂JavaScript中的this指向问题
JavaScript中的this是让很多开发者头疼的地方,而this关键字又是一个非常重要的语法点.毫不夸张地说,不理解它的含义,大部分开发任务都无法完成. 想要理解this,你可以先记住以下两点: ...
最新文章
- 形态学处理:膨胀、腐蚀、开运算、闭运算、形态学梯度、顶帽、黑帽
- 普通平键的主要尺寸有_?办公桌分类及尺寸介绍
- 计算机基础综合实验项目报告模板,计算机基础实验报告模板.doc
- 最后 24 小时,赶紧来领取这 50 本送书福利吧!
- drf3 Serializers 序列化组件
- 【恋上数据结构】回溯、剪枝(八皇后、n皇后)、LeetCode51.N皇后、LeetCode52.N皇后 II
- python pandas csv getitem,访问.csv文件时使用Pandas获取KeyError
- ios mdm更新应用_ios设备mdm的实现过程
- 密码编码学与网络安全讲的是什么
- 根升余弦滤波器——MATLAB
- 如何做好Windows2003服务器安全策略
- python 爬取种子_Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息...
- Linux云计算-02_CentOS Linux 7.X系统管理
- NOIP模拟系列 [BZOJ4668]冷战
- Numpy简易教程7——读/写文件
- 简单易懂的理解java开发中的 DO、BO、DTO、VO、AO都是什么✌
- Graphql入门_0
- 视频教程-x86/x64软件逆向分析入门-C/C++
- 开区网站打开自动播放音乐的添加跟修改教程
- 同色三角形 (数学题)
热门文章
- 使用Hystrix实现自动降级与依赖隔离-微服务
- Win8 Metro App里玩XNA:ContentPipeline内容管线问题
- RedHat Enterprise Linux 5下安装firefox
- hibernate查询部分字段加struts2显示
- 社区实施 GPL 的原则介绍
- Python+OpenCV 设计GUI图像处理
- Grafana 系统可视化监控
- 在java中转义符 n代表什么_在Java中,表示换行符的转义字符是()。 A.\nB.\fC.n D.\ddd...
- 如何用递归处理一个数组中的数据成为一个树结构_Spark处理的一些业务场景(持续更新ing)...
- 关于字节跳动小程序授权问题解决方案