Javascript
快速删除 node_modules 目录的方法
· ☕ 2 分钟
在开发 JavaScript 或 Node.js 项目时,`node_modules`目录可能会变得非常庞大,占用大量磁盘空间。有几种方法可以快速删除 `node_modules` 目录

【JS异步入门】异步方式与场景
· ☕ 2 分钟

JavaScript 可以通过以下几种方式实现异步:

回调函数:将回调函数作为异步函数的参数,在异步操作完成后调用回调函数。例如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function fetchData(callback) {
  // 异步操作
  setTimeout(function() {
    const data = { name: 'Alice', age: 20 }
    callback(data)
  }, 1000)
}

fetchData(function(data) {
  console.log(data) // { name: 'Alice', age: 20 }
})
Promise使用 Promise 对象可以更方便地实现异步操作可以通过 then() 方法链式调用处理异步操作的结果例如
function fetchData() {
  return new Promise(function(resolve, reject){
    // 异步操作
    setTimeout(function() {
      const data = { name: 'Alice', age: 20 }
      resolve(data)
    }, 1000)
  })
}

fetchData().then(function(data) {
  console.log(data) // { name: 'Alice', age: 20 }
})
async/awaitasync/await 是在 Promise 基础上进行的封装使用起来更加方便代码更加易读易写例如
async function fetchData() {
  // 异步操作
  await new Promise(resolve => setTimeout(resolve, 1000))
  const data = { name: 'Alice', age: 20 }
  return data
}

fetchData().then(function(data) {
  console.log(data) // { name: 'Alice', age: 20 }
})

JavaScript 中的异步场景很多,常见的包括:


【每周书单】Node.js 好书推荐:Node.js 设计模式、深入浅出Node.js、狼书三部曲等
· ☕ 6 分钟

本周书单推荐 Node.js 好书。推荐书目均来自群友推荐,欢迎大家入群交流。为了防止无良商家进群刷广告,请付费 0.1 元加入群聊,付费后文末有二维码。

Node.js 是能够在服务器端运行JavaScript 的开放源代码、跨平台执行环境。Node.js 由 OpenJS Foundation 持有和维护,亦为Linux 基金会的项目。


函数式编程合集
· ☕ 4 分钟

函数式编程是种编程方式,它将电脑运算视为函数的计算。 函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。 和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。 和过程化编程相比,函数式编程里函数的计算可随时调用。


JavaScript将图片转换成Base64字符串的几种方法
· ☕ 2 分钟

Base64 是一种基于64个 ASCII 字符来表示二进制数据的表示方法。

base64

Base64 将8比特位为一个单元的字节数据拆分为以6个比特位为一个单元的二进制片段,每6个比特位单元对应Base64索引表中的一个字符,这样最终构成一个超过编码前字节数据33%的字符串。


JavaScript拷贝对象的几种方法
· ☕ 3 分钟

对象与原始类型的根本区别之一是,对象是“通过引用”存储和复制的,而原始类型:字符串、数字、布尔值等 —— 总是“作为一个整体”复制。赋值了对象的变量存储的不是对象本身,而是该对象“在内存中的地址” —— 换句话说就是对该对象的“引用”。