this指向问题--------笔试趣题
来源:互联网 发布:倒卖数据什么罪 编辑:程序博客网 时间:2024/06/05 05:54
var legth=10;function fn(){ console.log(this.length);}var obj={ length:5, method:function(fn){ fn(); arguments[0](); }};obj.method(fn,1);
上星期去武大参加的校招,公司是乐其,这里就不说笔试题的难易(yilianmengabc)了,当时上面这道题做的时候没啥感觉,后来是乐其也去了闺蜜她们学校,也给他们这套题,,然后给我看这道题,,,于是才发现当时做题的自己是辣么的单纯无知,看似简单的一道题,其实是个深坑。
这里的obj.method(fn,1);执行时
1.首先会执行method里面的fn();由于fn()是全局函数,this会向上寻找对象,即window对象,所以输出的第一个数是10;
2.然后执行arguments[0]();这里的arguments是js的内置对象,在函数体内可以通过arguments这个对象来访问传进来的参数数组,可以这么说:arguments=[fn,1];
所以arguments[0]();执行时是实际上就是执行fn();这里的fn()执行时会,this向上寻找对象,即arguments,arguments数组长度为2,所以输出的第二个数是2。
0 0
- this指向问题--------笔试趣题
- js this指向问题
- js this指向问题
- 关于this指向问题
- 关于this指向问题
- 关于this指向问题
- this关键字指向问题
- 父类中“this” 指向问题
- 修改this指向问题
- this指向问题
- this的指向问题
- this指向问题
- this 指向问题
- setTimeout中this指向问题
- 定时器中的this指向问题
- javascript中this指向问题
- javascript This指向问题简述
- javascript 的 this 指向问题
- 子网掩码详解
- C#word转pdf System.Runtime.InteropServices.COMException(0x80040202):导出失败,因为此功能尚未安装
- 圆形头像制作,仿QQ做法。
- View的绘制
- Zabbix 3.0 基础介绍 [一]
- this指向问题--------笔试趣题
- webrtc实现视频在线直播
- Android Studio下对资源进行分包
- 1-5.将Hadoop添加到环境变量,初始化HDFS,启动Hadoop,测试hdfs(Hadoop系列day01)
- oracle导入导出数据库dmp
- 【VS开发】【C++语言】reshuffle的容器实现算法random_shuffle()的使用
- shell排序、统计
- 我的第一篇文章
- ACE_DEBUG介绍及日志输出