Skip to content

什么是原型链 ​

什么是闭包,手写闭包函数,闭包优缺点,闭包的应用场景 ​

常见的继承 ​

ES6新特性有哪些 ​

async、await是什么、作用 ​

常用字符串方法 ​

组件中的data为什么要定义成一个函数而不是一个对象? ​

每个组件都是 Vue 的实例。组件共享 data 属性,当 data 的值是同一个引用类型的值时,改变其中一 个会影响其他

this的指向有哪些 ​

什么是递归及其优缺点 ​

深拷贝、浅拷贝 ​

JS执行机制是怎样的 ​

知道lodash吗?它有哪些常见的API ? ​

Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库。 _.cloneDeep 深度拷贝 _.reject 根据条件去除某个元素。 _.drop(array, [n=1] ) 作用:将 array 中的前 n 个元素去掉,然后返回剩余的部分

谈谈set 、 map 是什么? ​

set 是es6 提供的一种新的数据结构,它类似于数组,但是成员的值都是唯一的。 map 是es6 提供的一种新的数据结构,它类似于对象,也是键值对的集合,但是键的范围不仅限于字符 串,各种类型的值都可以当做键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供 了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适

symbol ​

ES6 引入新的原始数据类型Symbol,表示独一无二的值

描述一下ES6中的class类 ​

promise是什么及其作用 ​

箭头函数的特征 ​

JS的数据类型有哪些?存储上的差别? ​

数据类型的判断有哪些方法及其优缺点 ​

引用类型有哪些? ​

null和undefined的区别 ​

call、apply、bind三者的异同 ​

共同点 : 都可以改变this指向; 不同点: call 和 apply 会调用函数, 并且改变函数内部this指向. call 和 apply传递的参数不一样,call传递参数使用逗号隔开,apply使用数组传递 bind 不会调用函数, 可以改变函 数内部this指向. 应用场景

  1. call 经常做继承.
  2. apply经常跟数组有关系. 比如借助于数学对象实现数组最大值最小值
  3. bind 不调用函数,但是还想改变this指向. 比如改变定时器内部的this指向

如何实现一个bind? ​

AJAX原理是什么?如何实现? ​

什么是防抖节流?区别?如何实现? ​

什么是事件代理?应用场景 ​

对事件循环的理解 ​

JS内存泄露的几种情况 ​

new操作符具体干了什么 ​

如何实现上拉加载,下拉刷新? ​

对作用域链的理解 ​

var、let、const之间的区别 ​

JS原生绑定事件的方式,如何实现? ​

创建对象的几种方法 ​

创建函数的几种方式 ​

指出JS宿主对象和原生对象的区别 ​

JS内置常用对象有哪些,常用对象的方法 ​

==和===的区别 ​

JS中什么情况下会返回undefined值? ​

如何区分数组和对象? ​

怎么判断两个对象相等? ​

列举三种强制类型转换和隐式类型转换 ​

获取当前日期的月份 ​

如何遍历对象的属性 ​

src和href的区别 ​

如何使用原生JS给一个按钮绑定两个onclick事件? ​

JS中的作用域、域解析、变量提升 ​

变量提升与函数提升的区别 ​

什么是作用域链 ​

如何延长作用域链 ​

判断一个值是什么类型有哪些方法 ​

JS变量按照存储方式区分为哪些类型,并描述其特点 ​

Fuction foo()和var foo = function()之间foo用法上的区别? ​

索引有哪几种类型,有什么区别? 了解 ​

简述JS脚本的执行原理 ​