总结20个面试常见的JavaScript知识点

4 篇文章 0 订阅
2 篇文章 0 订阅

在准备面试时,由于没有那么多的时间和精力,不能把所有知识点复习地面面俱到。再加上网上面试题目琳琅满目,更不知道哪些知识点需要重点复习。

一共总结了20个JavaScript知识点

总的来说,对于新人,不要把太多的精力放在框架上面了,框架固然重要,但我认为基础更加重要,某种程度上它能决定你的高度:

简单的题目就不给出答案了,我觉得有价值的知识点,就附上答案或者个人的总结吧

1.数据类型⭐⭐⭐

•基本类型 

•引用类型

举例:Symbol的作用

2.判断变量的类型 ⭐⭐⭐

•typeof 

•instanceof及原理 

•Object.toString().call()及原理[[class]]

判断变量的类型

3.数据类型转换 ⭐⭐

•相等==和全等=== 

•强制转换和隐式转换 

•包装类型 

相等和全等,强制转换和隐式转换
包装类型

4.原型和原型链⭐⭐⭐

举例:描述构造函数、实例和原型之间的关系

在这里插入图片描述

5.闭包 ⭐⭐⭐

•优缺点 

在这里插入图片描述
在这里插入图片描述

6.call/apply/bind ⭐⭐⭐

在这里插入图片描述

7.DOM事件流和事件委托 ⭐⭐⭐

•捕获、冒泡 

•事件委托及好处

在这里插入图片描述

8.cookie和storage ⭐⭐⭐

•cookie的构成 

•localStorage和sessionStorage

举例:cookie的HTTPOnly

HTTPOnly
本地存储
在这里插入图片描述

9.数组/对象常见的方法 ⭐⭐

•Array:slice/splice/concat/filter/map/reduce 

•Object:keys/assign

举例:改变原数组的方法

在这里插入图片描述

10.new对象时内部做了什么 ⭐

在这里插入图片描述

11.防抖和节流 ⭐

//函数防抖: 任务频繁触发的情况下,
		//只有任务触发的间隔超过指定间隔的时候,任务才会执行。

		function debounce(func, delay) {
			let timer = null
			return function(...args) {
				if(timer) clearTimeout(timer)
				timer = setTimeout(() => {
					func.apply(this, args)
				}, delay)
			}
		}
//函数节流: 指定时间间隔内只会执行一次任务
		function throttle(fn, interval = 200) {
			let canRun = true;
			return function() {
				if(!canRun) return;
				canRun = false;
				setTimeout(() => {
					fn.apply(this, arguments);
					canRun = true;
				}, interval);
			};
		}

12.requestAnimationFrame ⭐⭐

•优势 

在这里插入图片描述

13.this指向 ⭐⭐

在这里插入图片描述

14.作用域链 ⭐

作用域及作用域链

15.let/var/const ⭐⭐⭐

在这里插入图片描述

16.异步编程:Promise和async await ⭐⭐⭐

•内部状态 

•Promise.race和Promise.all 

17.箭头函数 ⭐⭐

在这里插入图片描述

18.JavaScript运行机制 ⭐⭐⭐

•单线程、解释性语言 

•事件循环 

•宏任务/微任务 

单线程、解释性语言,事件循环
宏任务和微任务

19.实现继承的方式 ⭐⭐

在这里插入图片描述

20.垃圾回收⭐

垃圾回收

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

codingWeb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值