上一章请见: 1. ES6 随记(1)-- let 与 const 2. ES6 随记(2)-- 解构赋值 3. ES6 随记(3.1)-- 字符串的拓展 4. ES6 随记(3.2)-- 正则的拓展 & 数值的拓展 5. ES6 随记(3.3)-- 数组的拓展 4. 拓展 e. 函数的拓展 · 参数默认值.此节与结构赋值关系甚大,可去往前文再看一次 再来烧脑的重新打开这个蛋疼的案例, function fn1({x = 0, y = 0} = {}) { console.log(x, y);…
上一章请见: 1. ES6 随记(1)-- let 与 const 2. ES6 随记(2)-- 解构赋值 3. ES6 随记(3.1)-- 字符串的拓展 4. 拓展 b. 正则的拓展 首先又是关于 UTF-16 的修正 · u 修饰符 -- Unicode模式. 正则可以添加 i(忽略大小写) 或者 g(可匹配多个) 这类修饰符,ES6 则提供了 u(进入 Unicode 模式) 这个修饰符. // \uD83D\uDC2A 实为一个字符(但由于过长所以是两个字节),所以本不应该被单个字节判断…
上一章请见: 1. ES6 随记(1)-- let 与 const 2. ES6 随记(2)-- 解构赋值 3. ES6 随记(3.1)-- 字符串的拓展 4. ES6 随记(3.2)-- 正则的拓展 & 数值的拓展 4. 拓展 d. 数组的拓展 · Array.from 方法 querySelectorAll 得到并不是一个数组,而是 NodeList:arguments 也不是数组,是个很奇怪的对象. 所以新增了一个 Array.from 方法,将这些可遍历(具有 Iterator 接口)对…
上一章请见: 1. ES6 随记(1)-- let 与 const 2. ES6 随记(2)-- 解构赋值 4. 拓展 a. 字符串的拓展 有些字符需要 4 个字节储存,比如 \uD83D\uDE80 才代表“…
上一章请见: 1. ES6 随记(1)-- let 与 const 3. 解构赋值 a. 数组的解构赋值 let [a1, b1, c1] = [1, 2, 3]; console.log(a1, b1, c1); // 1 2 3 let [a2, , c2] = [1, 2, 3]; console.log(a2, c2); // 1 3 let [a3, b3, c3] = [1, 2]; console.log(a3, b3, c3); // 1 2 undefined let [a4,…
@author 周煦辰 2016-03-21 这段时间新上了一个项目,使用的是Yii2框架.这里记录一下Yii2框架.Yii2-Mongo拓展.Yii2-Redis拓展等的安装流程.因为使用的系统是Windows,这里只说Windows下的安装方法,不过Linux下大同小异,甚至可以说比Windows更加简单. 安装Composer Composer是一个用于PHP包管理的工具.有了Composer,PHP开发的包管理就变得异常简单.对于PHP“悠久”的历史来说,包管理工具显得姗姗来迟.12年3…
RegExp构造函数 在ES5中,RegExp构造函数的参数有两种情况. 第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag). var regex = new RegExp('xyz', 'i'); // 等价于 var regex = /xyz/i; 第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝. var regex = new RegExp(/xyz/i); // 等价于 var regex = /xyz/i; 但是,ES5不允许此时使用第…
对函数拓展兴趣更大一点,优先看,前面字符串后面再说,那些API居多,会使用能记住部分就好. 一.函数参数可以使用默认值 1.默认值生效条件 在变量的解构赋值就提到了,函数参数可以使用默认值了.正常我们给默认值是这样的: //ES5 function log(x, y) { y = y || "echo"; console.log(x, y); }; log('hello')//hello echo 如果y未赋值则为假,那就取后面的默认赋值,很巧妙,但是有个问题,假设我y就是想传递一个f…
ES6提供了二进制和八进制数值的新写法,分别用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503                    // true 0o767 === 503                             // true 如果要将使用0b.0o和0x前缀的字符串数值转化为十进制,要使用Number方法. ES6中对Number对象的拓展 1.Number.isFinite()  //检查一个数值是否有限,返回true/false: 2.…
前言 本章介绍正则的扩展.有些不常用的知识了解即可. 本章原文链接:正则的扩展 RegExp 构造函数 从 ES6 开始,如果RegExp构造函数第一个参数是一个正则对象,并且第二个标志存在且为标志参数,将不再抛出 TypeError ,将使用这些参数创建一个新的正则表达式.原有的正则表达式修饰符将被忽略 const flag = new RegExp(/[0-9]/ig, 'i').flags; // 原有修饰符卫 ig ,被 i 给替代了 console.log(flag); // i 字符…