JavaScript ECMAScript 2015 (ES6) 和 ECMAScript 2016 (ES7) 新特性速查

上图为 ES6 新特性速览

ES6 给 JavaScript 带来了很深刻的变化。 它完全改变了我们使用 JavaScript 的方式。 ES7是在ES6之上的一个微小更新。 让我们看看 ES6 更新中带来的变化。本文起初是我的学习笔记,现在我和大家分享一下。

支持UNICODE标准版本8

它将允许使用笑脸,一个可以使用 unicode 声明为转义字符的变量。 继续阅读

[回归基础] JavaScript 函数中默认参数

了解 JavaScript 中的默认参数以及如何使用它们。

默认参数定义

默认参数允许你设置参数的默认值。

默认情况下,JavaScript 函数的所有参数都是 undefined (未定义的)。默认参数允许你设置不同的默认值。

请考虑以下示例:


function logFirst(data){
  console.log(data[0]);
}

上面的例子是说,我们有一个简单的函数,打印数组中的第一个元素。该函数需要一个参数,data ,我们期望它是一个 Array 数组。但是如果没有数据传入,会发生什么? 继续阅读

使用 Chrome DevTools 调试 JavaScript

彻底地摒弃 console.log 调试!了解如何在Chrome开发者工具中使用断点来调试代码。

作为一名新开发人员,查找和修复 bug 可能非常困难。 你可能会随机使用 console.log(),试图查看代码的工作工作情况。 那么我现在告诉你,你不需要这么麻烦。

这篇文章是关于调试的正确方法!你将学习如何使用 Chrome 开发人员工具来设置断点,并逐步调试代码。这个工作流通常是在查找和修复代码中的 bug 时更有效的方法。

本教程将向你展示如何调试一个特定问题,但你所学习的一般工作流程有助于调试所有类型的 JavaScript bug。 继续阅读

JavaScript 中不可变数据结构(Immutable structures)和克隆(clone)

对象克隆是一个棘手的问题,它有很多边缘情况。原因很简单。对象维持内部状态有很多技巧及衍生品,但是很容易被滥用。

克隆对象是你应用程序正在发展的指示器,并且你有一个复杂的对象,你想要作为一个不变的值,即在保持先前状态的同时进行操作。

如果这个对象在你的控制范围之内,那么你很幸运。如果要进行一些重构,可能会让你重新考虑对象的结构和行为来完全避免问题。 继续阅读

密码强度正则表达式 – 必须包含大写字母,小写字母和数字,至少8个字符等

需要一个密码强度正则表达式在用户注册时校验用户密码强度:密码至少8个字符,包括1个大写字母,1个小写字母和1个数字或特殊字符,例如#?!。网上搜索了一些解决方案分享给大家。

继续阅读

Visual Studio Code 必备插件,主题及语法提示

Visual Studio Code 是由微软开发的一款免费的,跨平台文本编辑器。由于其出色的性能表现和丰富的功能,它很快成为了开发者的最爱。

与大多数 IDE 一样,VSCode 也有一个扩展市场,包含数千个具有不同功能的插件。为了帮助您挑选值得下载的东西,我们收集了这些最有用和最有趣的扩展。
继续阅读

前端开发中的 正则表达式 及常用正则表达式大全

RegExp 是正则表达式(Regular expression)的缩写,就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 ‘a’ 和 任意个 ‘b’ ”,那么 ‘ab’, ‘abb’, ‘abbbbbbbbbb’ 都符合这个特征。

正则表达式可以用来:

  1. 验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。
  2. 用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。
  3. 用来替换,比普通的替换更强大。

创建一个正则表达式

你可以使用以下两种方法之一构建一个正则表达式: 继续阅读

JavaScript 中的递归和尾调用

如果你已经有一段时间的 JavaScript 开发经验,你很有可能会遇到递回这个定义,给定一个数字来阶乘,n! = n * (n - 1) * ... * 1 就是一个标准的递回例子。

function factorial(n) {
    if (n === 0) {
        return 1;
    }
    return n * factorial(n - 1);
}

上面所示的例子是阶乘函数最简单的实现。 继续阅读

JavaScript 函数式编程术语大全

函数式编程(FP)有许多优点,它也越来越流行了。然而,每个编程范式都有自己独特的术语,函数式编程也不例外。通过提供的这张术语表,希望使你学习函数式编程变得容易些。

示例以 JavaScript (ES2015) 方式呈现。 Why JavaScript?

这是一份 WIP; 欢迎随时 PR 😉

在适用的情况下,本文档使用的术语定义在 Fantasy Land spec继续阅读

[回归基础]JavaScript 函数中的参数:Parameters(形参) 和 Arguments(实参)

Parameters(形参) 和 Arguments(实参) 一样吗?

Javascript是一种函数式语言,这意味着函数是主要的执行模块单元。显然,JavaScript中的函数非常重要。当讨论函数时,术语 parameters(形式参数,简称形参) 和 arguments(实际参数,简称实参) 通常可以混用,就好像它们是一样的,但其实有一个非常微妙的区别。

  • Parameters(形参) 是函数定义时的形式参数,作为函数定义的一部分,是列出类的变量。
  • Arguments(实参) 是函数调用时的实际参数,是在函数被调用时传递给该函数的变量值。

我们为什么要为这个微小的差异而烦恼呢? 继续阅读