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


相关推荐

  • pytest fixtures_pytest allure

    pytest fixtures_pytest allurefixture的优势Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进:命名方式灵活,不局限于setup和teardown这几个命名conf

    2022年7月29日
    3
  • 狂神说Linux_狂神说docker笔记

    狂神说Linux_狂神说docker笔记Linux在服务器端,很多大型项目都是部署在Linux服务器上利用VM + Centos7搭建本地Linux系统你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。概念云服务器就是一个远程电脑Linux中一切皆文件根目录/,所有的文件都挂载在这个节点下/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev : dev是Device(设备

    2022年8月8日
    2
  • 服务器出现kernel: TCP: time wait bucket table overflow解决

    服务器出现kernel: TCP: time wait bucket table overflow解决http://blog.sina.com.cn/s/blog_69cdee7f0100yowt.html#一台Nginx+php-fcgi的服务器做了负载均衡,在主控端发现一直在报错:viewsourceprint?01#—————————-引用文字-开始———————-

    2022年5月15日
    31
  • HashMap数据结构及其一些方法

    HashMap数据结构及其一些方法1.HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。     数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。

    2022年5月19日
    37
  • Linux内核分析及内核编程[通俗易懂]

    Linux内核分析及内核编程[通俗易懂]倪继利著2005年8月出版ISBN7-121-01518-5900页88.00元(估价)倪 倪继利著2005年8月出版ISBN7-121-01518-5900页88.00元(估价)倪 内容简介  本书作者在整理自己多年研发笔记的基础上,以精心挑选的典型开发实例向读者详细地讲述了内核源代码的各部分结构、原理及组成框架,主要分析了Linux最新版本(2.6.11)的内核源代码,帮助读者深入

    2022年10月8日
    0
  • 系统安装失败如何恢复原系统_安装失败显示其他原因

    系统安装失败如何恢复原系统_安装失败显示其他原因按照博客上的方法安装了npm,但是安装cnpm出现了“cnpm不是内部命令”那么我就详细的来说下解决方法;1,node.js的安装在node.js官网下载,根据你电脑的选择版本,我的安装路径是D盘,D:\ProgramFiles\nodejs输入npm-v检测是否安装成功。2.安装cnpmnpminstall-gcnpm–registry=https://registry.npm.taobao.org(注意要对环境变量配置)在系统变量path下添加该路径D:\Prog

    2022年10月15日
    0

发表回复

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

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