前端面试题:(JS篇)

67 阅读1分钟

一、 说说JavaScript中的数据类型?

  • 简单数据类型:undifined,null,boolean,string,number,symbol
  • 引用数据类型:object

怎么区分

  • 简单数据类型:typeof
  • 引用数据类型:instanceof

二、javascript中数组的常用方法有哪些

增加:push(),unshift(),splice(),concat()
删除:pop(), shift(),splice(),slice()
修改:splice()
查找:indexOf(), includes(),find()

排序方法

  • reverse():反向排列
  • sort():接受一个比较函数,用于判断哪个值排在前面

转换方法: join()

迭代方法:

  • some():任何一项返回true,return true
  • every():所有项返回true,return true
  • forEach(): 没有返回值
  • filter():对每一项哦度运行传入的函数,函数返回true的项会组成之后返回
  • map():对数组每一项都运行传入的参数,函数由每次函数调用的结果构成的数组

三、对象深拷贝和浅拷贝的区别,如何实现一个深拷贝。

 基本数据类型:保存在栈内存中
 引用数据类型:保存在堆内存中,应用数据类型的变量是一个指向堆内存中实际对象的引用,存在栈中

浅拷贝:Object.assign, Array.prototype.slice(), Array.prototype.concat() 深拷贝:_cloneDeep(), JSON.stringfy(), 手写循环递归