js面试必考:this
this是前端面试中必考的基础知识点,也是新手小白在做项目中经常晕头转向的问题。但其实this不难理解。
判断this指向时,记住以下几点:
- 判断函数类型,
1.1 如果是箭头函数,则为第一个包裹箭头函数的普通函数的this指向
1.2 如果不是箭头函数,但是使用了bind,call,apply等改变this的方法,this被重新绑定为bind/call/apply函数的第一个参数 - 如果是普通函数,并且没有绑定this
2.1 如果是new的方式调用,this被绑定到实例上
2.2 如果被调用,谁调用便指向谁
2.3 如果直接执行,this指向window
bind, call,apply的区别
bind, call,apply 都可以改变普通函数的this指向。不同之处在于:
- 参数不同。call(this,arg1,arg2…),apply(this,[arg1,arg2,…]),bind(this,[arg1,arg2,..])
- call,apply方法之后调用后,函数立即执行。bind方法调用后,返回了一个改变this后的函数,不会立即执行。
- 被bind绑定过this的函数,this不会再被改变
bind.call,apply的常见应用
1.判断数据类型
Object.prototype.toString.call(null) //[object Null]
2.获取函数最大值和最小值
Math.max.apply(Math,[1,2,3]) //3
3.伪数组转真数组
Array.prototype.slice.call(arguments)
js面试必考:this的更多相关文章
- Java BAT大型公司面试必考技能视频-1.HashMap源码分析与实现
视频通过以下四个方面介绍了HASHMAP的内容 一. 什么是HashMap Hash散列将一个任意的长度通过某种算法(Hash函数算法)转换成一个固定的值. MAP:地图 x,y 存储 总结:通过HA ...
- MySQL面试必考知识点:揭秘亿级高并发数据库调优与最佳实践法则
做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对它掌握越清晰越深入,你能做的事情就越多. 今天我们用10分钟 ...
- 95%的技术面试必考的JVM知识点都在这,另附加分思路!
概述:知识点汇总 jvm的知识点汇总共6个大方向:内存模型.类加载机制.GC垃圾回收是比较重点的内容.性能调优部分偏重实际应用,重点突出实践能力.编译器优化和执行模式部分偏重理论基础,主要掌握知识点. ...
- 【面试题】100IT名企java面试必考面试题
一.Java 基础部分 1. JAVA 的基本数据类型有哪些 ? String 是不是基本数据类型 ? Java 有 8 种基本数据类型: byte int ...
- 五分钟学Java:如何学习Java面试必考的JVM虚拟机
原创声明 本文首发于微信公众号[程序员黄小斜] 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 为什么要学习JVM虚拟机 最近的你有没有参加Java面试呢?你有没有发现,Java ...
- 五分钟学Java:如何学习Java面试必考的网络编程
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 简介 Java作为一门后端语言,对于网络编程的支持是必不可少的,但是,作为一个经常CRUD的Java工程师,很多时候都不 ...
- 【iOS开发-34】自己主动释放池@autoreleasepool的使用注意事项以及ARC机制——面试必考内容
自己主动释放池@autorelease面试频率可能会吧release还要高. (1)在自己主动释放池@autoreleasepool{}中alloc一个对象后(如p1).仍然须要用[p1 autore ...
- 深入解读大厂java面试必考基本功-HashMap集合
课程简介 HashMap集合在企业开发中是必用的集合同时也是面试官面试率很高的集合,因为HashMap里面涉及了很多的知识点,可以比较全面考察面试者的基本功,想要拿到一个好offer,这是一个迈不过的 ...
- 关于链表所有操作,面试必考C++
#include <iostream> #include <stack> using namespace std; //链表的结构体 struct ListNode { int ...
随机推荐
- Mysql sql语句技巧与优化
一.常见sql技巧 1.正则表达式的使用 2.巧用RAND()提取随机行 mysql数据库中有一个随机函数rand()是获取一个0-1之间的数,利用这个函数和order by一起能够吧数据随机排序, ...
- 【visio】数据流图
率属于 软件和数据库 又名 Gane-Sarson图,数据流图示描述系统数据流程关系的工具,它可以综合的反映出数据在系统中的来源.流动.处理和存储情况,可以将数据流形象具体的表现出来. 在大型项目中, ...
- AcWing 858. Prim算法求最小生成树 稀疏图
//稀疏图 #include <cstring> #include <iostream> #include <algorithm> using namespace ...
- 题解【Codeforces1186A】 Vus the Cossack and a Contest
这题是入门难度的题目吧-- 根据题意可以得出,只有当\(m\)和\(k\)都大于等于\(n\)时,\(Vus\)才可以实现他的计划. 因此,我们不难得出以下\(AC\)代码: #include < ...
- 【C语言】分别用下标法,地址法和指针法输出数组中的全部元素
#include<stdio.h> int main() { ] = { ,,,, }; int i, * p; printf("下标法:\n"); ; i < ...
- HNOI2019 题解
题目排序不是我做题的顺序也不是试题顺序. 多边形 首先要知道终止态是所有边都指向了 \(n\) 号节点. 那么我们如果每一步都让 \(n\) 的度数 +1 那一定是最优的,显然可以办到. 那么可以从与 ...
- acm数论之旅(转载) -- 逆元
ACM数论之旅6---数论倒数,又称逆元(我整个人都倒了( ̄﹏ ̄)) 数论倒数,又称逆元(因为我说习惯逆元了,下面我都说逆元) 数论中的倒数是有特别的意义滴 你以为a的倒数在数论中还是1/a吗 ( ...
- hackinglab 种族歧视
首先打开题目 发现是禁止访问的然后打开后台 发现后台也没有什么有用的信息所以用bp抓包 然后修改一下国家语言
- iframe多层嵌套时,Jquery获取元素
在项目中,尤其是后台管理项目,会使用到iframe嵌套的网页,说起iframe,真的是个让人头疼的东西,能避开是最好避开.不然要请随身备好氧气瓶哈(因为管理和调试过程中往往会被气缺氧!!!哈哈哈~~~ ...
- robotframe常用的类库、对应的方法和属性
robotframe常用的类库.对应的方法和属性