- 初级
var
和let/const
W 的区别?typeof
返回哪些类型?- 列举强制类型转换和隐式类型转换?
- 手写
lodash
的isEqual
? - 数组
split()
与join()
的区别? - 数组的
pop push unshift shift
分别做什么? - 数组的哪些
API
是纯函数? - 数组
slice
和splice
的区别? [10, 20, 30].map(parseInt)
的返回结果?ajax
请求get
和post
的区别?- 函数的
call
和apply
的区别? - 事件代理(委托)是什么?
- 闭包是什么,有什么特性,有什么影响?
- 作用域和自由变量的场景题-1?
- 作用域和自由变量的场景题 -2?
- 判断字符串以字母开头, 后面字母数字下划线,长度6-30?
- 如何获取JS程序中的异常?
- 什么是json?
- 如何获取当前页面的url参数?
- 手写字符串trim方法, 保证浏览器兼容性?
- 如何获取多个数字中的最大值?
- 如何用js实现继承?
- 函数声明和函数表达式的区别?
new Object
和Object.create
的区别?- this的场景题?
- 手写深拷贝?
- 介绍一下
requestAnimationFrame
? - 性能优化,从哪几个方面考虑?
- 将
url
参数解析为JS
对象? - 手写
flatten
考虑多层级? - 数组去重?
- 如何阻止事件冒泡和默认行为?
- 查找,添加,删除,移动DOM的节点方法?
- 如何减少DOM操作?
- 解释
jsonp
原理,为何不是真正的ajax
? document
的load
和ready
的区别?==
和===
的区别?
- 如果在本地资源需要加载一个10m+的图片,他又是整个网页的背景图,你如何优化他不影响网页的渲染速度?
- 说一下对tree-shaking的了解,CommonJS和ESM都可以用tree-shaking吗?