javascript

JavaScript 中的高阶函数 (Higher-order functions)

在学习 JavaScript 的函数式编程的过程中遇到了一个高阶函数的概念,于是对其进行了一翻搜索,找到了一些相关的内容,特在这里进行一下梳理记录,以便理解。 什么是高阶函数 高阶函数的概念来自数学,维基百科中对它有如下定义: 在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数: 接受一个或多个函数作为输入 输出一个函数 具体来说,在 JavaScript 中,我们可以将一个函数 A 作为参数传给另一个函数 B,或者,在函数 B 中将函数 A 作为返回值返回。那么这里的函数 B 就是上面所说的高阶函数。 举例 这种应用场景在我们日常的编码中会经常见到,

  • Kevin Yue
    Kevin Yue
3 min read
javascript

canvas 在高清屏下绘制图片变模糊的解决方法

之前我在 SF 上回答过「html5 canvas绘制图片模糊的问题」,但是可能是由于我给出的答案过于简略,加上答案中的 demo 链接已经失效,很多人反映这种办法并不好使。但是我在给出答案之前是在小米2 和 iPhone 上测试过的,没有任何问题。下面我会一步一步地描述具体的步骤。 前提条件 假设我们要在 canvas 中绘制一张 300 x 90 的图片,并且要保证它在高清屏中不模糊。那么我们首先要准备一张 600 x 180 的图片,处理过高清屏的同学应该会有这方面的经验。 问题重现 OK,

  • Kevin Yue
    Kevin Yue
3 min read
javascript

JS 使用正则表达式来解析 URL 参数

将 url 中的参数解析成一个对象的需求在日常的开发中比较常见,如,将 window.location.search 解析成一个对象。有很多方法来实现这个功能,比较常见也比较容易理解的方法是先用 String.prototype.split() 按 & 来拆分成参数对,然后再按 = 拆分每个参数对,组装成对象返回。 下面来分享一个用正则表达式来解析 url 请求参数的方法: 首先是要构造出正则。 以 window.location.search 为例,它的值通常为 ?foo=1&

  • Kevin Yue
    Kevin Yue
2 min read