ES6 spread操作符、rest操作符(…)浅解
xiaoqi 发布于 2017-07-14
spread[扩展] 1、将数组展开成函数的多个参数 传统apply方法 function fn(x, y, z) {} var args = [1, 2, 3]; fn.apply(null,arg) ES6-spread function fn(x, y, z){} var ...
xiaoqi 发布于 2017-07-14
spread[扩展] 1、将数组展开成函数的多个参数 传统apply方法 function fn(x, y, z) {} var args = [1, 2, 3]; fn.apply(null,arg) ES6-spread function fn(x, y, z){} var ...
xiaoqi 发布于 2017-06-18
传统的JavaScript面向对象编程,是通过构造函数原型来实现的。例子: function Num(n, m){ this.n = n; this.m = m; } Num.prototype.sum = function(){ return this.n + this.m; ...
xiaoqi 发布于 2017-05-27
let s = [1, 0, 2, 0,5,4,5,44,5,0,0,0,0,5]; console.log(s.filter((x, i, itm)=> x && itm.indexOf(x) === i)); 有且只需要一行代码s.filter((x, ...
xiaoqi 发布于 2017-05-05
为了保证可读性,本文采用意译而非直译。 我已经使用ES2015(ES6)的语法编写JavaScript程序很久了,并且喜欢上它提供的新特性带来的优雅和简洁。我最习惯的就是不再使用var,而是let/const。我想当然的以为let仅仅是var的替代者,而事实上let还为我们提供了...
xiaoqi 发布于 2017-04-20
ES6核心知识 (1)let 使用let声明的变量是块级作用域;可以防止用来计数的循环变量泄露为全局变量(也可以用闭包的知识来实现,如下例) //泄露情况 var clickBoxs = document.querySelectorAll('.clickBox'); for(va...
xiaoqi 发布于 2017-03-29
对于大多数开发者来说,JavaScript 的 this 关键字会造成诸多困扰。由于 JavaScript 不具备如 Java 等语言的严格类模型,因而除非是在处理回调,否则代码中的 this 指向并不清晰。 一般来说,对于部分运行中的代码(非回调)会通过 new 关键字和 Fu...
xiaoqi 发布于 2017-03-25
let与const命令是es6标准最基础也是最常见的命令符 ,在es5的js标准中,定义变量只能使用var命令符,var命令 符只能进行全局与函数作用域的变量定义,es6新增的let则改变了这一现状。 1. let命令 ●块级作用域 es5的单一作用域带来了很多不便与问题,es6...
xiaoqi 发布于 2017-03-19
以下是ES6排名前十的最佳特性列表(排名不分先后): Default Parameters(默认参数) in ES6 Template Literals (模板文本)in ES6 Multi-line Strings (多行字符串)in ES6 Destructuring Ass...
xiaoqi 发布于 2017-03-03
1.箭头函数(=>) ES6中引入了箭头函数符来代替function,也就是说在定义方法的时候可以不再写function,=>的左边即为函数名和参数,右边即为执行操作和返回值。 例如: function(i){return i + 1; } //ES5 (i) =&g...
xiaoqi 发布于 2017-03-01
在此处先列下本篇文章的主要内容 简介 next方法的参数 for…of循环 Generator.prototype.throw() Generator.prototype.return() yield* 语句 作为对象属性的Generator函数 Generator函数的this...