es新特性
Mozzie晓风残月
i am code
展开
-
js setTimeout和for循环搭配使用时变量的问题
一 setTimeout(func,time)函数运行机制setTimeout(func,time)是在time(毫秒单位)时间后执行func函数。浏览器引擎按顺序执行程序,遇到setTimeout会将func函数放到执行队列中,等到主程序执行完毕之后,才开始从执行队列(队列中可能有多个待执行的func函数)中按照time延时时间的先后顺序取出来func并执行。即使time=0,也会等...原创 2019-02-27 19:14:00 · 817 阅读 · 0 评论 -
函数对象参数默认值及其解构应用示例
(({x,y})=>{ console.log(x, y); // // undefined undefined})({});(({x=1,y=2})=>{ console.log(x,y); // 1 2})({});(({x=3, y=4}={})=>{ console.log(x,y); // 3 4})();function test4({x,y}={x:100,y:200}) { console.log(x,y);}test4({}); //.原创 2020-07-20 19:20:53 · 420 阅读 · 0 评论 -
箭头函数
var humans = { name: 'nealcaffreal', add: function() { console.log(this) //humans对象 setTimeout(function() { console.log(this)// window对象 },100) } } humans.add() ...原创 2020-07-20 14:21:23 · 178 阅读 · 0 评论 -
ECMAScript6 import as export default 用法
1 导入多个接口(使用export语句)import { fetchList,fetchArticle } from '@/api/article'export function fetchList(query) { return request({ url: '/article/list', method: 'get', params: query ...原创 2019-09-19 14:20:26 · 649 阅读 · 0 评论 -
es6中的import使用方法
一 基本用法。import defaultExport from "module-name";import * as name from "module-name";import { export } from "module-name";import { export as alias } from "module-name";import { export1 , export2...原创 2019-09-12 14:03:58 · 3137 阅读 · 0 评论 -
ES6使用的迭代器Symbol.iterator
// ES6使用的迭代器 需要通过Symbol.iterator来访问 var numbers = [1,2,3,4,5]; let iterator = numbers[Symbol.iterator](); console.log(iterator.next().value); console.log(iterator.next().value);...原创 2019-08-14 08:57:04 · 2962 阅读 · 0 评论 -
class类的get和set
基本用法class People { constructor(name) { //构造函数 this.name = name; } sayName() { console.log(this.name); }}上面定义了一个People类,他有一个属性 name 和一个方法 sayName(),还有一个构造函数;...转载 2019-04-23 14:36:27 · 4811 阅读 · 0 评论 -
ES6class类继承
class Animal { constructor(props) { this.name = props.name || '未知' } eat() { console.log(this.name + '在吃东西') } } class Bird extend...原创 2019-04-23 13:59:13 · 138 阅读 · 0 评论 -
对象的扩展运算符
一 引言在数组的扩展中,已经介绍过扩展运算符(...)const [a, ...b] = [1, 2, 3];a // 1b // [2, 3]ES6 将这个运算符引入了对象。(1)解构赋值对象的解构赋值用于从一个对象取值,相当于将所有得可遍历的、但尚未被读取的属性,分配到指定的对象上面。所有的键和它们的值,都会拷贝到新对象上面。let { x, y, ...z...转载 2019-03-22 14:13:20 · 756 阅读 · 0 评论 -
扩展运算符
一 数组使用扩展运算符(...)拷贝数组。const [a, ...b] = [1, 2, 3];a // 1b // [2, 3]// badconst len = items.length;const itemsCopy = [];let i;for (i = 0; i < len; i++) { itemsCopy[i] = items[i];}...转载 2019-03-22 09:41:13 · 131 阅读 · 0 评论 -
解构赋值
一 解构赋值使用数组成员对变量赋值时,优先使用解构赋值。const arr = [1, 2, 3, 4];// badconst first = arr[0];const second = arr[1];// goodconst [first, second] = arr;函数的参数如果是对象的成员,优先使用解构赋值。// badfunction getFul...转载 2019-03-22 09:32:52 · 196 阅读 · 0 评论 -
let和const
一 块级作用域(1)let 取代 varES6 提出了两个新的声明变量的命令:let和const。其中,let完全可以取代var,因为两者语义相同,而且let没有副作用。'use strict';if (true) { let x = 'hello';}for (let i = 0; i < 10; i++) { console.log(i);}上面代...转载 2019-03-22 09:26:48 · 91 阅读 · 0 评论 -
async...await
ES8引入了async函数,使得异步操作变得更加方便。简单说来,它就是Generator函数的语法糖。async function asyncFunc(params) { const result1 = await this.login() const result2 = await this.getInfo()}是不是更加简洁易懂呢?变体异步函数存在以下四种使用形式...原创 2019-03-21 22:11:59 · 223 阅读 · 0 评论 -
Generator
Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式,定义不同的内部状态(yield在英语里的意思就是“产出”)。一个简单的例子用来说明它的用法:function* helloWorldGenerator() { yield 'hello'; yield 'world';...原创 2019-03-21 17:41:05 · 87 阅读 · 0 评论 -
js中this大全
demo1var a = 0;var obj = { a: 1, b1: this.a, b2: () => this.a,};console.log(obj.b1); // 0console.log(obj.b2()); // 0demo2var a = 0;(function fn(){ var a = 2; console.log(this.a); // 0 const subf = ()=>this.a; console.原创 2020-07-20 16:39:26 · 173 阅读 · 0 评论