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


相关推荐

  • vs2010旗舰版可用密钥

    vs2010旗舰版可用密钥YCFHQ9DWCYDKV88T2TMHG7BHP

    2022年5月3日
    68
  • C语言数组初始化

    C语言数组初始化转载博客代码编译运行环境:VS2017+Win32+Debug1.字符数组的初始化方式C语言中表示字符串有两种方式,数组和指针,字符数组是我们经常使用的方式。变量的定义包括指明变量所属类型、变量名称、分配空间以及初始化。可以看出,变量的初始化是变量定义的一部分。除了const变量需要显示初始化以外,其它变量如果在定义时未显示初始化,编译器会为变量以默认…

    2022年7月18日
    17
  • java如何调用第三方接口

    java如何调用第三方接口最近在做一个项目,因一些机制问题,需要我用java代码调用第三方接口。因其接口使用的是@RequestBody注入访问对象的,@RequestBody接受收的是一个json格式的字符串,一定是一个字符串。类似于:{“pageNumber”:1,“pageSize”:10}这种json字符串访问方式。要想在java后端代码中访问第三方接口,首先引入maven包。<dependency><groupId>org.codehaus.jackson

    2022年5月28日
    245
  • 调和数列举例_数列专项训练

    调和数列举例_数列专项训练算法训练调和数列问题时间限制:1.0s内存限制:512.0MB时间限制:1.0s内存限制:512.0MB问题描述输入一个实数x,求最小的n使得,1/2+1/3+1/4+…+1/(n+

    2022年8月5日
    3
  • awk linux 数组,Linux中的awk数组的基本使用方法

    awk linux 数组,Linux中的awk数组的基本使用方法1.awk数组描述在其他的编程语言中,数组的下标都是从0开始的,也就是说,如果想反向引用数组中的第一个元素,则需要引用对应的下标[0],在awk中数组也是通过引用下标的方法,但是在awk中数组的下标是从1开始的,在其他语言中,你可能会习惯于先“声明”一个数组,在awk中,则不用这样,直接为数组的元素赋值即可(其实如果自己给数组赋值,下标从1或者从0开始那就无所谓了!)2.在声明数组时,可能值很多…

    2022年7月19日
    14
  • pyhcarm激活码(最新序列号破解)[通俗易懂]

    pyhcarm激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    77

发表回复

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

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