ECMAScript
Onedean
Stay Hungry,Stay Foolish
展开
-
【ECMAScript 5_6_7】1、ES5特性总结
一、严格模式1. 理解: * 除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode)。 * 顾名思义,这种模式使得Javascript在更严格的语法条件下运行2. 目的/作用 * 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为 * 消除代码运行的一些不安全之处,为代码的安全运行保驾护航 * 为未来新版本的Ja...原创 2019-01-03 22:09:42 · 188 阅读 · 0 评论 -
【ECMAScript 5_6_7】13、ES6——async/await语法糖函数(异步回调问题最终解决方案)
async函数(源自ES2017)概念:真正意义上去解决异步回调的问题,用用同步流程来表达异步操作本质:Generator函数的语法糖语法:async function foo (){ await 异步操作 await 异步操作}特点:1、不需要向Generator函数去调用next()方法,而是遇到await就等待,直到当前异步操作完成就继续...原创 2019-02-27 12:39:17 · 467 阅读 · 0 评论 -
【ECMAScript 5_6_7】12、ES6——Generator函数(异步回调问题解决方案二)
Generator函数概念: 1、ES6提供的解决异步编程的方案之一 2、Generator函数是一个状态机,内部封装了不同状态的数据, 3、用来生成遍历器对象 4、可暂停函数(惰性求值函数), yield可暂停,next方法可启动。每次返回的是yield后的表达式结果特点:1、function 与函数名之间有一个星号2、内部用yield表达式来定义...原创 2019-02-26 19:57:29 · 177 阅读 · 0 评论 -
【ECMAScript 5_6_7】11、ES6——Itetetator遍历器
概念:iterator是一种接口机制,为各种不同的数据结构提供统一的访问机制作用:1、为各种数据结构,提供一个统一的、简便的访问接口;2、使得数据结构的成员能够按某种次序排列3、ES6创造了一种新的遍历命令for...of循环,Iterator接口主要供for...of消费工作原理:- 创建一个指针对象(遍历器对象),指向数据结构的起始位置。- 第一次调用ne...原创 2019-02-26 19:18:34 · 233 阅读 · 0 评论 -
【ECMAScript 5_6_7】10、ES6——Symbol
前言:ES5中对象的属性名都是字符串,容易造成重名,污染环境 Symbol:概念: ES6中添加了一种原始数据类型(已有的原始数据类型:String,Number,Boolean,Null,Undefined,Object)特点: 1、Symbol属性对应的值是唯一的,解决命名冲突问题 2、Symbol值不能与其他数据进行计算,包括和字符串拼串...原创 2019-02-26 18:47:55 · 133 阅读 · 0 评论 -
【ECMAScript 5_6_7】9、ES6——Promise对象(异步回调问题解决方案一)
一、理解:* Promise对象: 代表了未来某个将要发生的事件(通常是一个异步操作)* 有了promise对象, 可以将异步操作以同步的流程表达出来, 避免了层层嵌套的回调函数(俗称'回调地狱')* ES6的Promise是一个构造函数, 用来生成promise实例二、使用promise基本步骤(2步): 1、创建promise对象let promise = new...原创 2019-02-26 13:08:31 · 403 阅读 · 0 评论 -
【ECMAScript 5_6_7】16、ES6——深度克隆知识点及其扩展
1、数据类型* 数据分为基本的数据类型(String, Number, boolean, Null, Undefined)和对象数据类型- 基本数据类型: 特点: 存储的是该对象的实际数据(拷贝后会生成一份新的数据,修改拷贝以后的数据不会影响原数据)- 对象/数组数据类型: 特点: 存储的是该对象在栈中引用,真实的数据存放在堆内存里(拷贝后不会生成新的数据,而是拷贝引用,...原创 2019-02-27 20:47:20 · 279 阅读 · 0 评论 -
【ECMAScript 5_6_7】15、ES6——字符串/数值/数组/对象扩展
一、字符串扩展1. includes(str) : 判断是否包含指定的字符串2. startsWith(str) : 判断是否以指定字符串开头3. endsWith(str) : 判断是否以指定字符串结尾4. repeat(count) : 重复指定次数<!DOCTYPE html><html lang="en"><head> <...原创 2019-02-27 20:03:02 · 161 阅读 · 0 评论 -
ES6 import {} from '..'后缀名的问题
最近在看阮一峰的ES6入门。下图中圈出来的地方不太理解。 文中说到.js后缀不可省略。但是下文中又出现了如下写法:// lib.jsexport let counter = 3;export function incCounter() { counter++;}// main.jsimport { counter, incCounter } from './li...转载 2019-02-04 13:43:18 · 6612 阅读 · 0 评论 -
【ECMAScript 5_6_7】8、ES6——形参默认值
一、形参默认值* 形参的默认值----当不传入参数的时候默认使用形参里的默认值function Point(x = 1,y = 2) {this.x = x;this.y = y;} <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <原创 2019-01-07 01:02:42 · 180 阅读 · 0 评论 -
【ECMAScript 5_6_7】7、ES6——点点点运算符
一、点点点运算符* 用途1. rest(可变)参数 * 用来取代arguments(函数内部用来收集实参的伪数组) 但比 arguments 灵活,只能是最后部分形参参数 function fun(...values) { console.log(arguments); arguments.forEach(function (item, i...原创 2019-01-07 01:00:52 · 2397 阅读 · 0 评论 -
【ECMAScript 5_6_7】6、ES6——箭头函数
一、箭头函数* 作用: 定义匿名函数* 基本语法: * 没有参数: () => console.log('xxxx') * 一个参数: i => i+2 * 大于一个参数: (i,j) => i+j * 函数体不用大括号: 默认返回结果 * 函数体如果有多个语句, 需要用{}包围,若有需要返回的内容,需要手动返回* 使用场景: 多用来定义回调函数...原创 2019-01-07 00:56:51 · 1364 阅读 · 0 评论 -
【ECMAScript 5_6_7】5、ES6——简化的对象写法
一、简化的对象写法简化的对象写法* 省略同名的属性值* 省略方法的function* 例如: let x = 1; let y = 2; let point = { x, y, setX (x) {this.x = x} };<!DOCTYPE html><html lang="en"><head>...原创 2019-01-07 00:54:33 · 278 阅读 · 0 评论 -
【ECMAScript 5_6_7】4、ES6——模板字符串
一、模板字符串1. 模板字符串 : 简化字符串的拼接 * 模板字符串必须用 `` 包含 * 变化的部分使用${xxx}定义<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>04_模板字符串</ti原创 2019-01-07 00:52:36 · 149 阅读 · 0 评论 -
【ECMAScript 5_6_7】3、ES6——变量的解构赋值
一、变量的解构赋值1. 理解: * 从对象或数组中提取数据, 并赋值给变量(多个)2. 对象的解构赋值 let {n, a} = {n:'tom', a:12}3. 数组的解构赋值 let [a,b] = [1, 'onedean'];4. 用途 * 给多个形参赋值<!DOCTYPE html><html lang="en"><...原创 2019-01-07 00:45:22 · 175 阅读 · 0 评论 -
【ECMAScript 5_6_7】2、ES6——let/const关键字
一、let关键字let1. 作用: * 与var类似, 用于声明一个变量2. 特点: * 在块作用域内有效 * 不能重复声明 * 不会预处理, 不存在变量提升3. 应用: * 循环遍历加监听 * 使用let取代var是趋势<!DOCTYPE html><html lang="en"><head> <me...原创 2019-01-07 00:40:29 · 172 阅读 · 0 评论 -
【ECMAScript 5_6_7】14、ES6——模拟基于类的编程风格关键词class
class关键词:1. 通过class定义类/实现类的继承2. 在类中通过constructor定义构造方法3. 通过new来创建类的实例4. 通过extends来实现类的继承5. 通过super调用父类的构造方法6. 重写从父类中继承的一般方法<!DOCTYPE html><html lang="en"><head> <...原创 2019-02-27 12:46:57 · 141 阅读 · 0 评论