摘要: 什么是函数柯里化?实现 sum(1)(2)(3) 返回结果是1,2,3之和函数柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术 function sum(a) { return function(b) { return 阅读全文
posted @ 2019-07-15 08:43 前端++ 阅读(4272) 评论(0) 推荐(0) 编辑
摘要: 1、只有函数有作用域,es5中函数没有块级作用域。Es6中的let增加了块级作用域。 2、变量提升的问题。 3、函数执行分为两个阶段。@1进入执行上下文阶段,形成活动对象AO,@2执行代码 4、全局上下文的变量对象初始化是全局对象 函数上下文的变量对象初始化只包括 Arguments 对象 在进入执 阅读全文
posted @ 2019-07-15 08:40 前端++ 阅读(161) 评论(0) 推荐(0) 编辑
摘要: function insertSrot(arr){ if (arr == null || arr.length < 2) { return arr; } var len = arr.length; var preIndex, current; for (var i = 1; i < len; i++ 阅读全文
posted @ 2019-07-15 08:39 前端++ 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 为什么sort(()=>{return Math.random()-0.5)}乱序数组不准确。(注意结合插入排序原理来理解) @1、chrome浏览器对于数组长度10以内为插入排序。反之则快速排序和插入排序混合 @2、所以,对于[1,2,3] 第一此比较对1和2就行排序,可能为正序也可能为倒序,所以 阅读全文
posted @ 2019-07-15 08:37 前端++ 阅读(1572) 评论(0) 推荐(0) 编辑
摘要: HTTP1.x的解析是基于文本存在缺陷,HTTP2.0的协议解析决定采用二进制格式。 HTTP1.x的header带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传 阅读全文
posted @ 2019-07-15 08:25 前端++ 阅读(554) 评论(0) 推荐(0) 编辑
摘要: // ES5循环循环实现filter const selfFilter = function (fn, context) { let arr = Array.prototype.slice.call(this) let filteredArr = [] for (let i = 0; i < arr 阅读全文
posted @ 2019-07-15 08:22 前端++ 阅读(1226) 评论(0) 推荐(0) 编辑