面试题总结
迪丽瓦拉
2024-05-26 08:10:03
0

1.js的数据类型

分为基本数据类型和引用数据类型。
基本数据类型

ES5的5种:Null,undefined,Boolean,Number,String, ES6新增:Symbol表示独一无二的值 ES10新增:BigInt 表示任意大的整数

一种引用数据类型:(本质上是由一组无序的键值对组成)

引用数据类型: Object。包含Object、Array、 function、Date、RegExp。 JavaScript不支持创建任何自定义类型的数据,也就是说JavaScript中所有值的类型都是上面8中之一。

2.null 和 undefined 的区别?

相同:

在 if 语句中 null 和 undefined 都会转为false两者用相等运算符比较也是相等

首先 Undefined 和 Null 都是基本数据类型,这两个基本数据类型分别都只有一个值,就是 undefined 和 null。

不同:

undefined 代表的含义是未定义,

定义了形参,没有传实参,显示undefined

一般变量声明了但还没有定义的时候会返回 undefined

对象属性名不存在时,显示undefined

函数没有写返回值,即没有写return,拿到的是undefined

null 代表的含义是空对象。也作为对象原型链的终点

null 主要用于赋值给一些可能会返回对象的变量,作为初始化。

3.什么是原型、原型链

原型:每个函数在被创建的时候就会有一个 prototype属性,这个属性是一个指针,指向一个对象,而这个对象就是这个函数的原型对象(也就是原型),它是用来共享所有实例的属性和方法的地方,所以原型其实就是函数的伴生体(与生俱来的)

var a = [1, 2, 3, 4, 5];
a.__proto__ === Array.prototype; // true

原型链:原型链,简单理解就是原型组成的链。当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会去它的__proto__隐式原型上查找,即它的构造函数的prototype,如果还没有找到就会再在构造函数的prototype的__proto__中查找,这样一层一层向上查找就会形成一个链式结构,我们称为原型链。

4.宏任务微任务分类及执行顺序

1、宏任务
setTimeoout、setInterval
2、微任务
process.nextTick
这个方法是nodeJS里面的方法,如果说放在html页面中的script标签块中执行,是会报错的。其中process对象是一个全局对象,具有一些可被用来获取nodejs应用程序以及运行该应用程序的用户、运行环境的各种信息的属性、方法和事件。
process.nextTick( callback )方法用于将一个函数推迟到代码中所书写的下一个同步方法执行完毕时或异步方法的事件回调函数开始执行时调用,该方法中使用一个参数,参数值是被推迟的函数。
promise的then方法
就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。

在这里插入图片描述

1、存在微任务的话,就执行所有的微任务
2、微任务都执行完之后,执行下一个宏任务
3、但不是说所有宏任务执行完毕之后,才执行微任务的。而是当前的宏任务执行完毕,然后执行所有的微任务(这一点需要注意) 

5.什么是token

6.深拷贝和浅拷贝的区别,怎样实现浅拷贝

7.tcp和udp的区别

8.http和https的区别

9.浏览器地址输入页面回车后做了什么事

10.Vue2和vue3的区别

相关内容