摘要: 这种解法有问题!! [12,4,16,3].sort(function() { return 5 - Math.random(); }); v8 在处理 sort 方法时,使用了插入排序和快排两种方案。当目标数组长度小于10时,使用插入排序;反之,使用快排。 通俗的说,其实我们使用 array.so 阅读全文
posted @ 2022-08-19 15:51 wkxu 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 最大公约数的计算,用到辗转相除法 例如:求 gcd(24, 10) ,可以转换为 gcd(10,4), 然后是 gcd(4,2) ,然后是(2,0),最好得出结果是2 方法1: function gcd(a, b) { var temp if (a < b) temp = b, b = a, a = 阅读全文
posted @ 2022-08-19 15:50 wkxu 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 尾递归和普通递归有啥区别 尾调用,是指函数内部的最后一个动作是函数调用。该调用的返回值,直接返回给函数。 举个例子: // 尾调用 function f(x){ return g(x); } // 非尾调用 function f(x){ return g(x) + 1; } 模拟下上述执行上下文栈: 阅读全文
posted @ 2022-08-19 15:50 wkxu 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 何为函数记忆 函数记忆是指将上次的计算结果缓存起来,当下次调用时,如果遇到相同的参数,就直接返回缓存中的数据。 常用于,复杂且有重复的计算。 例如:斐波那契数列的计算 underscore中的实现 function memoize(func, hasher) { var memoize = func 阅读全文
posted @ 2022-08-19 15:49 wkxu 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Array.prototype.map Array.prototype.map2 = function(callbackfn, thisArg) { if (this == null) { throw new TypeError('Cannot read property "map" of null 阅读全文
posted @ 2022-08-19 15:48 wkxu 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 节流 函数节流指的是某个函数在一定时间间隔内(例如 3 秒)只执行一次,在这 3 秒内 无视后来产生的函数调用请求,也不会延长时间间隔。3 秒间隔结束后第一次遇到新的函数调用会触发执行,然后在这新的 3 秒内依旧无视后来产生的函数调用请求,以此类推。 此时「管道中的水」就是我们频繁操作事件而不断涌入 阅读全文
posted @ 2022-08-19 15:48 wkxu 阅读(41) 评论(0) 推荐(0) 编辑
摘要: Object.assign 原理及其实现 MDN: 主要是将所有可枚举属性的值从一个或多个源对象复制到目标对象,同时返回目标对象。 // 第一步 let a = { name: "advanced", age: 18 } let b = { name: "muyiy", book: { title: 阅读全文
posted @ 2022-08-19 15:47 wkxu 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 对于 Object.prototype.toString() 方法,会返回一个形如 "[object XXX]" 的字符串。 如果对象的 toString 方法没有被重写,就会返回如上面形式的字符串。 ({}).toString(); // => "[object Object]" Math.toS 阅读全文
posted @ 2022-08-19 15:46 wkxu 阅读(55) 评论(0) 推荐(0) 编辑
摘要: call、apply、bind和new的模拟实现 1. call和apply ​ call方法和apply方法,实现一个就行了,两个方法除了第二个参数以外,其他完全一样。 ​ apply方法第二个参数传入的是个参数数组。 call()方法在使用一个指定的this值和若干个指定的参数的前提下调用某个函 阅读全文
posted @ 2022-08-19 15:45 wkxu 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 高阶函数 高阶函数英文叫 Higher-order function,它的定义很简单,就是至少满足下列一个条件的函数: 接受一个或多个函数作为输入 输出一个函数 也就是说高阶函数是对其他函数进行操作的函数,可以将它们作为参数传递,或者是返回它们。 简单来说,高阶函数是一个接收函数作为参数传递或者将函 阅读全文
posted @ 2022-08-19 15:44 wkxu 阅读(82) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示