1.css如何自定义一个动画效果
animation
2.js如何判断数据类型
typeof Array,Null等特殊对象使用typeof一律返回object
js.constructor == 数据
Object.prototype.toString.call()
3.es6的新特性
let,const for...of 字符串拼接模板 箭头函数 解构 set对象 map
4.说说闭包,柯里化,偏函数
闭包:函数内还有函数
优点:减少全局变量,减少传递函数的参数值,
缺点:内存泄漏
解决:把不需要的变量赋值为null
为什么造成内存泄漏:垃圾回收机制,被另一个作用域引用的变量不会被回收。
柯里化:把一个多参数的函数,转化为单参数函数(对高阶函数的降阶处理)
使用场景:减少重复传递不变的部分参数
偏函数:固定一个函数的一个或者多个参数,返回一个新的函数,这个函数用于接受剩余的参数。
5.说说防抖,节流的实际应用
防抖:事件被触发后,延迟执行回调,在执行前事件又被触发,则重新计时。
百度搜索
节流:减少一段时间内时间的触发频率
懒加载时要监听计算滚动条的位置 鼠标要多次点击
6.说说浏览器从输入URL到页面渲染的整个流程
1、首先浏览器在输入URL之后,会先解析URL,判断是否合法;
2、合法的话会查看浏览器缓存,判断是否有缓存,如果有缓存,则显示;
3、如果没有缓存,浏览器会向服务器发送HTTP协议,会进行DNS解析,获取IP地址;
4、浏览器和服务器进行TCP连接,进行三次握手;
5、握手成功之后,浏览器会向服务器发送http请求,请求数据包;
6、服务器处理请求,将数据返回给浏览器;
7、浏览器收到HTTP响应后,会解析它;
8、浏览器发送异步请求,然后渲染页面