JS 面试题 大全

19 篇文章 0 订阅

1、介绍一下js的数据类型有哪些,值是如何存储的?

在这里插入图片描述

2、说一下js的数据类型的转换都有哪些?

在这里插入图片描述

3、如何去判断js数据类型?

在这里插入图片描述

4、介绍 js 有哪些内置对象?

在这里插入图片描述

5、javascript 创建对象的几种方式?

在这里插入图片描述

6、js 获取原型的方法?

在这里插入图片描述

7、什么是闭包,为什么要用它?

在这里插入图片描述

8、三种事件模型是什么?

在这里插入图片描述

9、哪些操作会造成内存泄漏?

在这里插入图片描述

10、简述javascript中this的指向?

![在这里插入图片描述](https://img-blog.csdnimg.cn/2021032219142296.pngx-oss-process=imag## 标题e/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JpbmJpbmJveA==,size_16,color_FFFFFF,t_70)

11、解释一下原型链?

在这里插入图片描述

12、深拷贝、浅拷贝、以及如何实现?

在这里插入图片描述

13、DOM事件流和事件委托?

在这里插入图片描述

14、ajax是什么?以及如何去创建它?

在这里插入图片描述

15、什么是跨域?jsonp的原理?以及怎么实现?

在这里插入图片描述

16、防抖和节流

在这里插入图片描述

17、同步和异步的区别,分别列举一个同步和异步的例子?

在这里插入图片描述

18、描述new一个对象的过程?

在这里插入图片描述

19、全局函数eval()有什么作用?

在这里插入图片描述

20、原生对象和宿主对象?

在这里插入图片描述

21、get和post有什么区别?

在这里插入图片描述

22、请解释一下变量声明提升?

在这里插入图片描述

23、请指出document.onload和document.ready两个事件的区别?

在这里插入图片描述

24、请解释JSONP的工作原理,以及它为什么不是真正的AJAX?

在这里插入图片描述

25、通过new创建一个对象的时候,构造函数内部有哪些改变?

在这里插入图片描述

26、如何防范CSRF攻击,XSS攻击?

在这里插入图片描述

27、箭头函数与普通函数的区别?

在这里插入图片描述

28、说一下js继承?

***Es5中的继承有:
①.原型继承:父类的实例作为子类的原型
②.借用构造函数继承:在子类中适用call方法,调用父类的方法,并将父类的this改为子类的this
③.组合继承:既可以调用父类实例的属性又能调用父类原型的属性
ES6有class继承:
①.class就相当于Es5中的构造函数
②.class中定义的方法签后不能加function ,全部定义在class的prototype属性中
③.class只能定义方法,不能定义定义对象变量等
④.class默认为严格模式
⑤.在子类中,调用extends方法,可以调用父类的属性,用eat调用父类的方法


29、JS 中的主要有哪几类错误?

在这里插入图片描述

30、JS中如何将页面重定向到另一个页面?

在这里插入图片描述

31、JS中的Array.splice()和Array.slice()方法有什么区别?

在这里插入图片描述

32、undefined,null 和 undeclared 有什么区别?

在这里插入图片描述

33、JS中的高阶函数?

在这里插入图片描述

34、如何区分声明函数和表达式函数?

在这里插入图片描述

35、JS中的“严格”模式是什么以及如何启用?

在这里插入图片描述

36.请描述event loop(事件循环、事件轮询)的机制,可画图?

①.js是单线程的,异步要基于回调来实现,event loop(事件循环/事件轮询)就是异步回调的实现原理。

首先我们需要明白js是如何执行的:从前到后,一行一行执行,如果某一行执行报错了,则停止下面代码的执行,先将同步代码执行完毕,再执行异步代码。
在这里插入图片描述
根据上图所示,event loop的执行原理如下:

(1)同步代码,一行一行执行,是放在call stack(调用堆栈)中执行的
(2)遇到异步代码,先记录下在web API中,等待时机(定时、网络请求等)
(3)时机到了,就移动到callback queue(回调队列)中
(4)如果 call stack 为空(即同步代码执行完毕) event loop 开始工作
(5)轮询查找 callback queue, 如有则移动到call stack执行
(6)然后继续轮询查找,直到完成

②.DOM事件 和 event loop
js是单线程的
异步(setTimeout、ajax等)使用回调,是基于event loop的
DOM事件也使用回调,也基于event loop

37.什么是宏任务和微任务,两者有什么区别?

在这里插入图片描述

38.promise有哪三种状态?如何变化

在这里插入图片描述

39.async/await ?

在这里插入图片描述

40、event loop 和 DOM渲染

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值