JS/TS基础
📄️ JS 值类型和引用类型
typeof 能判断哪些类型?
📄️ 手写 JS 深拷贝
浅拷贝和深拷贝
📄️ 何时使用 === 何时使用 ==?
变量计算 - 注意某些类型转换的坑
📄️ 如何用 class 实现继承?
利用 es6 中的 class 实现继承,首先是父类
📄️ 如何理解 JS 原型(隐式原型和显示原型)三座大山之一
通过一些例子来说明,首先定义
📄️ instanceof 是基于原型链实现的
如何准确判断一个变量是数组?
📄️ 手写简易 jQuery 考虑插件和扩展性
首先准备一个基本的 dom
📄️ 什么是作用域?什么是自由变量?
作用域
📄️ 什么是闭包?闭包会用在哪里?(三座大山之二)
闭包,作用域应用的特殊情况,有两种表现:
📄️ this 有几种赋值情况,如何取值?
this 取值是在函数执行时确定的,不是在定义时
📄️ 手写 bind 函数
首先来看看 bind 函数使用
📄️ 手写用 Promise 加载一张图片
使用 Promise 来解决 callback hell 回调地狱的问题,举例演示
📄️ 同步和异步的区别是什么?(三座大山之三)
单线程和异步
📄️ 何为变量提升?
var 和 let const 的区别
📄️ 手写深度比较 isEqual
手写深度比较 isEqual,实现下面需求
📄️ split 和 join 的区别
📄️ 数组的 pop push unshift shift 分别是什么
数组的 pop push unshift shift
📄️ 数组 slice 和 splice 的区别
区别
📄️ [10,20,30].map(parseInt)返回的结果是什么?
参考
📄️ ajax 请求 get 和 post 的区别
区别
📄️ 函数 call 和 apply 的区别
📄️ 事件代理(委托)是什么?
事件代理
📄️ 闭包是什么,有什么特性?有什么负面影响?
回顾
📄️ 如何阻止事件冒泡和默认行为?
事件
📄️ 查找,添加,删除,移动 DOM 节点的方法?
https://lzwdot.github.io/issue/26041
📄️ 如何减少 DOM 操作?
比如
📄️ 解释 jsonp 原理,为何不是真的 ajax ?
回顾
📄️ document load 和 ready 的区别
📄️ == 和 === 的区别
区别
📄️ 函数声明和函数表达式的区别
区别
📄️ new Object() 和 Object.create 的区别
区别
📄️ 关于 this 的场景题
📄️ 关于作用域和自由变量的场景题
第一个,感觉不容易
📄️ 判断字符串以字母开头,后面字母数字下划线,长度 6-30
一些简单的
📄️ 手写字符串 trim 方法,保证浏览器的兼容性
📄️ 如何获取多个数字中的最大值
手写函数
📄️ 如何用 JS 实现继承
继承
📄️ 如何捕获 JS 程序中的异常?
第一种 try catch
📄️ 什么是 JSON ?
JSON
📄️ 获取当前页面 url 参数
比如:http://localhost/test/test.html?a=100&b=200#c=300
📄️ 将 url 参数解析为 JS 对象
还是比如:http://localhost/test/test.html?a=100&b=200#c=300
📄️ 手写数组 flatern,考虑多层级
数组 flatern 的意思:\[1,2,\[3,4\]\] =>\[1,2,3,4\]
📄️ 数组去重,考虑计算效率
数组去重的方法
📄️ 手写深拷贝,注意 Object.assign 不是深拷贝
深拷贝函数
📄️ 介绍一下 RAF(requestAnimationFrame)
requestAnimationFrame
📄️ 前端性能如何优化?一般从哪几个方面考虑?
回顾
📄️ Map 和 Set-有序和无序
有序和无序,先看个例子
📄️ WeakMap 和 WeakSet
两者的特点
📄️ 数组求和 -Array reduce
reduce 用法