本文实例讲述了ES6顶层对象、global对象。分享给大家供大家参考,具体如下:
顶层对象
顶层对象,在浏览器环境指的是window对象,在Node指是的global对象。ES5之前中,顶层对象的属性与全局变量是等价的。
window.a = 1;
a // 1
a = 2;
window.a // 2上面的代码中,顶层对象的属性赋值和全局变量的赋值,是同一件事。
ES6规定,var命令和function命令声明的全局变量,依旧是顶层对象的属性;let命令、const命令、class命令声明的全...
本文主要和大家分享ES6中Promise代码实例分析,希望大家更更好掌握promise的用法,感兴趣的朋友参考下吧,希望能帮助到大家。废话不多说了,直接给大家贴代码了,具体如下所示:<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title></title>
</head>
<body>
<script>
var a=0
var test=function(resolve, reject){setTimeout(function(){a=4;console.log(a)if(a<2){resolve(200 OK);}if(a>2){reject(400 died);}...
gulp中关于es6转es5的实例分析npm install --save-dev gulp-babel babel-preset-es2015var babel = require("gulp-babel");
// es6
gulp.task(es6, function() {return gulp.src(./wuqian/**/*.js).pipe(babel()).pipe(gulp.dest(dist/));
});在项目根路径创建文件 .babelrc。内容为{ "presets": ["es2015"]
}gulp配置如下:var gulp = require("gulp");
var babel = require("gulp-babel"); gulp.task("default", function (...
本文实例讲述了ES6 Promise对象的应用。分享给大家供大家参考,具体如下:The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value.
Promise 对象用于一个异步操作的最终完成(或失败)及其结果值的表示。简单点说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。在promise之前处理异步回调的方式
f...
本文实例讲述了ES6 class的应用。分享给大家供大家参考,具体如下:
class
class 本身是个语法糖,主要为了考虑在编码上更加人性化内部有super,static,get 等关键词使用起来非常类似于后台语言使用class进行类的实现应用
use strict;
// User 类
class User {constructor(name,age) {this.name = name;this.age = age;}static getName() {return User;}static getAge() {return this.age;}setName(name) {this.name = name;}setAge...
本文实例讲述了ES6 let和const定义变量与常量的应用。分享给大家供大家参考,具体如下:
关于 let
let是小作用域的变量的声明{var a = 12;let b = 15;{console.log(a); // 12console.log(b); // 15}
}let 是块级作用域,不会被提升;var是函数级的变量,存在变量提升,外部可访问console.log(a); // Uncaught ReferenceError: a is not defined,直接报错
let a = 12; // let定义的变量不能进行变量的提升
console.log(b); // undef...
本文实例讲述了ES6模板字符串和标签模板的应用。分享给大家供大家参考,具体如下:
ES6 中对字符串进行了扩展,而模板字符串就是一个非常实用的方式,可以在html中实现与变量和方法的混编
之前我们手动拼接字符串的方式
let hello = Hello;
let html = <div> +<span>+ hello +</span> +</div>;
console.log(html); // <div><span>Hello</span></div>ES6中使用模板字符串来优化了拼接的方式
let name = Joh;
let qq = 56655;
functi...
本文实例讲述了ES6 Object方法扩展的应用。分享给大家供大家参考,具体如下:
在ES6中针对对象的方法做了一些扩展和优化,下面简单总结下常用的方法
is方法判断两个对象是否全等
console.log(Object.is({},{}), {} === {}); // false, false
console.log(Object.is(NaN,NaN), NaN === NaN); // true, false
console.log(Object.is(+0,-0), +0 === -0); // false, trueassign方法用于对象属性的拷贝
如果两个参数,把第二个参数中可...
本文实例讲述了ES6 Symbol数据类型的应用。分享给大家供大家参考,具体如下:Symbol,是ES6中引入的新的数据类型,表示独一无二的值。在面向对象中,每个对象都有字符串类型的属性,新方法的名字就有可能与现有方法产生冲突。Symbol的引入保证每个属性的名字都是独一无二的,这样就从根本上防止属性名的冲突。ES6之前对象属性的命名方法
var obj = {name:Joh,my name: Johnny
}
console.log(obj.name); // Joh
console.log(obj[my ...
本文实例讲述了ES6 Array常用扩展的应用。分享给大家供大家参考,具体如下:
在ES6中又对Array扩展了不少方法,下面我们来看下
from方法
将伪数组转换为数组
let obj = {0:h,1:i,length:2
};
let arr = Array.from(obj);
console.log(Array.isArray(arr)); // true
console.log(arr); // ["h", "i"]通过第二个回调参数对值进行再加工处理
let obj = {0:h,1:i,length:2
};
let arr = Array.from(obj,function(item, index) {// 对返...
本文实例讲述了ES6 Map结构的应用。分享给大家供大家参考,具体如下:
Map 数据结构类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“任何—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。
初识map
var obj = {name:Joh,qq:5222,full name:Johnny
};
...
本文实例讲述了ES6 Set结构的应用。分享给大家供大家参考,具体如下:Set 类似于数组,但是成员的值都是唯一的,没有重复的值, 实现了iterator接口set 的值不可重复,数组的值可以重复
let arr = [1,2,3,5,5];
let st = new Set(arr);
console.log(st); // 可以通过set来去除数组的重复的值,返回的是一个伪数组
console.log(st.size); // 4set 的 add , delete, has, clear 方法
简单的add 与 delete :
let st = new Set();
var ...
本文实例讲述了ES6 Generator函数的应用。分享给大家供大家参考,具体如下:Generator 函数是 一种异步编程解决方案,Generator 函数会返回一个遍历器对象,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式。认识generator函数
function * fn() {console.log(hello);return Joh;
}
// 执行fn()时不会直接执行方法体中的代码,它会返回一个指针, 这个...
本文实例讲述了ES6扩展运算符用法。分享给大家供大家参考,具体如下:
扩展运算符用三个点号表示,功能是把数组或类数组对象展开成一系列用逗号隔开的值,扩展运算符有以下几点作用
一、展开数组
//展开数组
let a = [1,2,3,4,5],
b = [...a,6,7];
console.log(b);
//打印出来的值[1, 2, 3, 4, 5, 6, 7]二、数组的拷贝
//数组的拷贝
var c = [1, 2, 3];
var d = [...c];
d.push(4);
console.log(d);
//打印出来的值[1, 2, 3, 4]三...
本文实例讲述了ES6解构赋值的功能与用途。分享给大家供大家参考,具体如下:
(1)交换变量的值
[x, y] = [y, x];上面代码交换变量x和y的值,这样的写法不仅简洁,而且易读,语义非常清晰。
(2)从函数返回多个值
函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便。
// 返回一个数组
function example() {return [1, 2, 3];
}
var [a, b, c] = example();
// 返回一个...