1.数组扁平化:答案
理解:数组扁平化可以利用apply(默认将数组展开)和扩展运算符(...)
如:[].concat.apply([],arr)和[].concat(...arr)
2.自己实现bind及bind与call、apply区别:答案
3.Array.prototype.slice.call():slice原生方法调用,返回数组,作用与类数组元素(有length属性,key为数字)
4.各种自定义实现
5.instanceof与typeof区别:答案
·instanceof是查找构造函数的原型链上是否有该属性,MDN定义: object instanceof Construct,查找构造函数
·typeof只是个一元运算符
6.深拷贝:
function deepCopy(obj) {
var result = Array.isArray(obj) ? [] : {};
for (var key in obj) { if (obj.hasOwnProperty(key)) { if (typeof obj[key] === 'object' && obj[key]!==null) { result[key] = deepCopy(obj[key]); //递归复制 } else { result[key] = obj[key]; } } } return result; }
7.http请求方法介绍:GET,POST,PUT,DELETE,OPTIONS等,关于OPTIONS:https://blog.csdn.net/zhuwinmin/article/details/78373732
8.HTTP2.0:大幅提高了web性能,通过压缩、多路复用、优先级等方式,缩短网页加载时间和提高安全性。https://segmentfault.com/a/1190000016656529?utm_source=tag-newest
· 二进制传输:提升性能的基础,将传输信息分为更小的消息和帧,采用二进制格式编码
· 多路复用:原http会存在阻塞,2.0通过帧和流实现多个请求并行,帧是最小的数据单位,流由多个帧组成,帧会标识出属于哪个流,一个流就是一个请求,帧乱序传输,在对端再重新组合,避免了最耗时间的阻塞
· 服务端推送
9.HTTPS:https://blog.csdn.net/xiaoming100001/article/details/81109617 建立流程及防范中间人攻击的原理
· 通过公钥和私钥建立连接,建立连接之后通过对称秘钥传输数据
· 中间人攻击:证书信息摘要比对,这个无法伪造
10.
网友评论