JS 面试题 大全

JS 面试题 大全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


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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.net/174726.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用ajax写注册页面_jquery的ajax请求写法

    用ajax写注册页面_jquery的ajax请求写法<!DOCTYPEhtml><htmllang=”zh-CN”xmlns:th=”http://www.thymeleaf.org”><head><metacharset=”utf-8″/><title>XXXX</title><metaname=”viewport”co…

    2022年9月27日
  • Proxy实现mysql读写分离

    1.mysql实现读写分离的方式mysql实现读写分离的方式有以下几种:程序修改mysql操作,直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配,需要开发人员协助。amoeba,直接实现读写分离和负载均衡,不用修改代码,有很灵活的数据解决方案,自己分配账户,和后端数据库权限管理独立,权限处理不够灵活。mysql-proxy,直接实现读写分离和负载均衡,不用…

    2022年4月10日
  • Linux nmap命令详解

    Linux nmap命令详解nmap,也就是NetworkMapper,是Linux下的网络扫描和嗅探工具包。nmap是在网络安全渗透测试中经常会用到的强大的扫描器。功能之强大,不言而喻。下面介绍一下它的几种扫描命令。具体的还是得靠大家自己学习,因为实在太强大了。nmap安装yuminstallnmapnmap场景命令参数Usage:nmap[ScanType(s)][Opti…

    2022年5月22日
  • Linux:Tomcat部署war包

    Linux:Tomcat部署war包1、xftp上传Tomcat2、解压Tomcat:tar-zvxf文件unzip文件等解压命令3、将war包放在Tomcat中的webapps目录下(如果webapps中有任何其他war包或解压后的文件都需要删除)4、修改以上穿过去的文件的拥有者(非root用户下时)5、查看需要使用的端口的占用情况(ro…

    2022年10月28日
  • idea git 合并分支到指定分支_idea合并分支到另一个分支

    idea git 合并分支到指定分支_idea合并分支到另一个分支ideagit的使用(四)git建立分支与合并分支作者:马育民 • 2017-11-1017:05 • 阅读:103571.为什么要建立分支git默认的主分支名字为master,一般团队开发时,都不会在master主分支上修改代码,而是建立新分支,测试完毕后,在将分支的代码合并到master主分支上。2.操作如下:2.1ideagit分支的操作ideagit的操作在右下角,如下图:说明…

    2022年9月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号