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