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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java与python-如何对比Python和Java,只需三分钟告诉你!

    java与python-如何对比Python和Java,只需三分钟告诉你!原标题:如何对比Python和Java,只需三分钟告诉你!Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手。但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻了解。1.运行速度java是静态语言静态编译的,速度上要比Python快的很多,而Python动态类型语言,一边执行一边编译,速度要上慢一些…

    2022年7月7日
    29
  • 可以识别图片上的文字的小程序

    可以识别图片上的文字的小程序微信上的小程序相信大家都不陌生,近年来,微信小程序从“跳一跳”之后,越发火了。由于小程序的出现,微信上的功能也逐渐增加了,今天就给大家介绍一个小程序,比较实用,它可以快速识别图片上的文字,这个小程序呢就叫“迅捷文字识别”。这是一个比较智能的文字识别的小程序,它可以将识别出来的字汉英互译,还可以直接拍照翻译,接下来就给大家介绍一下这个小程序的操作方法。1.首先,我们现在微信上找到这个程序,点…

    2022年5月29日
    46
  • MacPorts 安装与使用

    MacPorts 安装与使用MacPorts安装与使用安装修改安装源MacPorts使用MacPorts像brew一样,可以快速安装软件。安装在安装macports之前注意要保证当前系统已安装xcode且保持最新版本。https://www.macports.org/install.php官网地址查找对应的系统版本。找到对应版本的dmg安装包,下载后安装。在安装的过程中,会卡在运行软件包步骤。切记断网安装,不进行软件包的安装更新。如果卡在此安装步骤无法退出,可进行如下操作:1.在活动监视器找到对应的安装程序强制退

    2022年9月21日
    2
  • navacate连接不上mysql_navicat连接mysql失败怎么办

    navacate连接不上mysql_navicat连接mysql失败怎么办Navicat 连接 mysql 数据库时 不断报 1405 错误 下面是针对这个的解决办法 MySQL 服务器正在运行 停止它 如果是作为 Windows 服务运行的服务器 进入计算机管理 gt 服务和应用程序 gt 服务 如果服务器不是作为服务而运行的 可能需要使用任务管理器来强制停止它 创建 1 个文本文件 此处命名为 mysql init txt 并将下述命令置于单一行中 SETPASSW

    2025年7月10日
    5
  • discuz php接口文档,Discuz二次开发技术文档[通俗易懂]

    discuz php接口文档,Discuz二次开发技术文档[通俗易懂]点评:Discuz二次开发基本知识总结,需要对discuz进行二次开发的朋友可以参考下。一)Discuz!的文件系统目录注:想搞DZ开发,就得弄懂DZ中每个文件的功能。a)Admin:后台管理功能模块b)Api:DZ系统与其它系统之间接口程序c)Archiver:DZ中,用以搜索引擎优化的无图版d)Attachments:DZ中,用户上传附件的存放目录e)Customavatars…

    2022年5月12日
    38
  • 堆和栈的区别(队列和栈的区别)

    堆(Heap)与栈(Stack)是开发人员必须面对的两个概念,在理解这两个概念时,需要放到具体的场景下,因为不同场景下,堆与栈代表不同的含义。一般情况下,有两层含义:(1)程序内存布局场景下,堆与栈表示的是两种程序内存分区;(2)数据结构场景下,堆与栈表示两种常用的数据结构。1.程序内存分区——堆与栈栈由操作系统自动分配释放,用于存放函数的参数值、局部变量的值等,其操作方式类…

    2022年4月12日
    62

发表回复

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

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