代码
JavaScript 最佳实践之不要使用new Object()
· ☕ 1 分钟

不要使用new Object():

  • 用 {} 替代 new Object()
  • 用 "" 替代 new String()
  • 用 0 替代 new Number()
  • 用 false 替代 new Boolean()
  • 用 [] 替代 new Array()
  • 用 /()/ 替代 new RegExp()
  • 用 function (){} 替代 new Function()

这样做的好处多多:

  • 速度更快
  • 代码短小简洁
  • 类型安全,复杂对象Object的构造函数有可能被重写而导致错误
  • 有利于typeof类型检查,
    • typeof(new String(“java is best PL”)),返回的是 object
    • 直接声明字符串返回 string

JavaScript数据类型及类型检测
· ☕ 2 分钟

你觉得现在JavaScript中有多少数据类型。

数据类型

在最新的 ECMAScript 标准定义了 8 种数据类型:

  • 7 种原始类型:
    • Boolean
    • Null
    • Undefined
    • Number
    • BigInt
    • String
    • Symbol
  • 和 Object

然而JavaScript对象(object)类型中内置了多种类型,简单统计如下:


JavaScript不使用for循环,生成1~100数列
· ☕ 3 分钟

相信大家小学时都做过这道题:

1+2+3+4+…+99+100=?

是的,解题方法就是大名鼎鼎的高斯求和。

今天我们不言求和,来说说怎样生成1~100这个数列呢?

别人家的Range函数

在python、php等语言当中,有range函数可以快速生成该数组。以python内置的range函数为例:


npm install 详解
· ☕ 2 分钟

npm-install | npm Documentation

npm install是安装node组件包的意思。

npm install packageName 命令

  1. 安装模块到项目node_modules目录下。
  2. 不会将模块依赖写入devDependencies或dependencies 节点。
  3. 运行 npm install 初始化项目时不会下载模块。

npm install -g packageName 命令


JavaScript中各种发送HTTP请求方式的比较
· ☕ 5 分钟

原文:Comparing different ways to make HTTP requests in Javascript in 2020

翻译:码农真经

最近我有个任务,在一个大型项目中选择用哪种方式发送ajax请求。

很早以前,虽然有一些方法将数据从一个服务器而不会刷新页面,但往往依赖于笨重的技术。后来,微软开发XMLHttpRequest技术,以便在浏览器上 Outlook电子邮件客户端可以不刷新整个页面,就能收到新的email,XMLHttpRequest在2006年成为一个web标准。


JavaScript 数组降维打击 Array.flat()
· ☕ 1 分钟

你以前是怎么样扁平化数组,也许是这样:

Array.prototype.concat.apply([], [["a"], ["b"]]) // [ 'a', 'b' ]

以上代码确实成功了,但它很长,理解起来也比较晦涩,apply方法被我们广泛的当成高级技巧刻入脑海。


为什么我喜欢Vue胜过React?
· ☕ 4 分钟

原文:Why I prefer Vue over React - Gaute Meek Olsen - Medium

翻译:码农真经

这篇文章主要集中在API、工具层次的讨论,没有涉及到Vue与React的核心差异。

当今有很多很棒的Web开发框架,我相信每个框架都可以用来创建您想要的网站。你的选择的仅取决于个人喜好,您甚至可以不使用任何框架。


NPM技巧:获取全局安装的软件包列表
· ☕ 1 分钟

你知道工作机中全局安装的npm软件包的有多少吗?你可能不知道。

对于NodeJS / npm新手来说尤其如此,他们经常尝试将最受欢迎的软件包安装在全局环境下,这样就不用在package.json文件中定义它们。


Python 常用代码片段 1
· ☕ 1 分钟

1 获取文件名列表

import os
names = os.listdir('somedir')

如果要查找特定后缀名文件,你可能会考虑使用 glob 或 fnmatch 模块。比如:

import glob
pyfiles = glob.glob('somedir/*.py')

from fnmatch import fnmatch
pyfiles = [name for name in os.listdir('somedir')
            if fnmatch(name, '*.py')]

当然现在最好的还是 pathlib: