Web开发编程网
分享Web开发相关技术

admin的文章

第7页
underscore 系列

underscore 系列之内部函数 restArgs

admin阅读(1044)

partial 在《 JavaScript 专题之偏函数》中,我们写了一个 partial 函数,用来固定函数的部分参数,实现代码如下: // 这是文章中的第一版 function partial(fn) { var args = [].s...

underscore 系列

underscore 系列之内部函数 cb 和 optimizeCb

admin阅读(1060)

前言 仅看 cb 和 optimizeCb 两个函数的名字,你可能想不到这是用来做什么的,尽管你可能想到 cb 是 callback 的缩写。 如果直接讲解源码,你可能想不明白为什么要这么写,所以我们从 _.map 函数开始讲起。 _.ma...

underscore 系列

underscore 系列之链式调用

admin阅读(1065)

前言 本文接着上篇《underscore 系列之如何写自己的 underscore》,阅读本篇前,希望你已经阅读了上一篇。 jQuery 我们都知道 jQuery 可以链式调用,比如: $("div").eq(0).css("width",...

underscore 系列

underscore 系列之如何写自己的 underscore

admin阅读(1051)

前言 在 《JavaScript 专题系列》 中,我们写了很多的功能函数,比如防抖、节流、去重、类型判断、扁平数组、深浅拷贝、查找数组元素、通用遍历、柯里化、函数组合、函数记忆、乱序等,可以我们该如何组织这些函数,形成自己的一个工具函数库呢...

JavaScript专题系列

JavaScript专题之解读 v8 排序源码

admin阅读(979)

前言 v8 是 Chrome 的 JavaScript 引擎,其中关于数组的排序完全采用了 JavaScript 实现。 排序采用的算法跟数组的长度有关,当数组长度小于等于 10 时,采用插入排序,大于 10 的时候,采用快速排序。(当然了...

JavaScript专题系列

JavaScript专题之乱序

admin阅读(1067)

乱序 乱序的意思就是将数组打乱。 嗯,没有了,直接看代码吧。 Math.random 一个经常会遇见的写法是使用 Math.random(): var values = [1, 2, 3, 4, 5]; values.sort(functi...

JavaScript专题系列

JavaScript专题之递归

admin阅读(1133)

定义 程序调用自身的编程技巧称为递归(recursion)。 阶乘 以阶乘为例: function factorial(n) { if (n == 1) return n; return n * factorial(n - 1) } con...

JavaScript专题系列

JavaScript专题之函数记忆

admin阅读(1093)

定义 函数记忆是指将上次的计算结果缓存起来,当下次调用时,如果遇到相同的参数,就直接返回缓存中的数据。 举个例子: function add(a, b) { return a + b; } // 假设 memoize 可以实现函数记忆 va...