首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JS 面试题 大全

JS 面试题 大全

作者头像
全栈程序员站长
发布2022-09-26 08:42:27
发布2022-09-26 08:42:27
1.8K0
举报

大家好,又见面了,我是你们的朋友全栈君。

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

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

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

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

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

6、js 获取原型的方法?

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

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

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

10、简述javascript中this的指向?

![在这里插入图片描述](https://img-blog.csdnimg.cn/2021032219142296.png?x-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渲染

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/174726.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、介绍一下js的数据类型有哪些,值是如何存储的?
  • 2、说一下js的数据类型的转换都有哪些?
  • 3、如何去判断js数据类型?
  • 4、介绍 js 有哪些内置对象?
  • 5、javascript 创建对象的几种方式?
  • 6、js 获取原型的方法?
  • 7、什么是闭包,为什么要用它?
  • 8、三种事件模型是什么?
  • 9、哪些操作会造成内存泄漏?
  • 10、简述javascript中this的指向?
  • 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继承?
  • 29、JS 中的主要有哪几类错误?
  • 30、JS中如何将页面重定向到另一个页面?
  • 31、JS中的Array.splice()和Array.slice()方法有什么区别?
  • 32、undefined,null 和 undeclared 有什么区别?
  • 33、JS中的高阶函数?
  • 34、如何区分声明函数和表达式函数?
  • 35、JS中的“严格”模式是什么以及如何启用?
  • 36.请描述event loop(事件循环、事件轮询)的机制,可画图?
  • 37.什么是宏任务和微任务,两者有什么区别?
  • 38.promise有哪三种状态?如何变化
  • 39.async/await ?
  • 40、event loop 和 DOM渲染
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档