ES6
文章平均质量分 87
zoe驿鹿
这个作者很懒,什么都没留下…
展开
-
【ES6系列】Proxy 数据保护实例
业务场景:对数据进行升序、降序、重置操作而不影响原始数据,除了用闭包的方式实现之外,还可以用proxy来实现。<template> <div class="price"> <ul> <li v-for="item in price" :key="item">{{item}}</li> ...原创 2019-12-03 12:02:55 · 180 阅读 · 0 评论 -
【ES6系列】Module 模块化
一、导入导出变量// 导出变量export const name = 'hello' // 导出变量export let addr = 'beijing'export var list = [1, 2, 3]// 导入变量import { name, addr, list} from './js-mod'// 导出变量const name = 'hello'let ad...原创 2019-11-18 21:27:43 · 157 阅读 · 0 评论 -
【ES6系列】Iterator 遍历器
ES6如何让不支持遍历的数据结构“可遍历”?1、简单数据结构的同类数据聚合// 简单数据结构的同类数据聚合// 业务场景:聚合不同图书类型的作者let authors = { allAuthors: { fiction: ['Agla', 'Skks', 'LP'], scienceFiction: ['Neal', 'Mike', 'Ribert'], ...原创 2019-11-18 19:12:10 · 210 阅读 · 0 评论 -
【ES6系列】Generator
通俗的讲 Generators 是可以用来控制迭代器的函数。// ES5循环写法function loop() { for (let i = 0; i < 5; i++) { console.log(i) }}loop()// ES6 generator 写法function * loop() { for (let i = 0; i < 5; i+...原创 2019-11-15 21:42:14 · 156 阅读 · 0 评论 -
【ES6系列】Proxy
Proxy 是 ES6 中新增的功能,它可以用来自定义对象中的操作。Vue3.0 中将会通过 Proxy 来替换原本的 Object.defineProperty 来实现数据响应式。语法let p = new Proxy(target, handler)解释参数 含义 必选 target 用 Proxy 包装的目标对象(可以是任何类型的对象,包括原生数组,...原创 2019-11-15 11:02:32 · 210 阅读 · 0 评论 -
【ES6系列】Reflect
Reflect 反射Java 的反射机制是在编译阶段不知道是哪个类被加载,而是在运行的时候才加载、执行。Reflect 是一个内置的对象,它提供拦截 JavaScript 操作的方法,这些方法与处理器对象的方法相同。Reflect不是一个函数对象,因此它是不可构造的。与大多数全局对象不同,Reflect没有构造函数。你不能将其与一个new运算符一起使用,或者将Reflect对象作为一个函数...原创 2019-11-14 19:58:28 · 211 阅读 · 0 评论 -
【ES6系列】Promise
Promise 基本用法(Promise Syntax):new Promise( function(resolve, reject) {…} );通过创建 Promise 对象开启一个异步操作的过程,一般用几步完成多次异步操作:new Promise(fn) 返回一个Promise 对象 在fn 中指定异步等处理 处理结果正常的话,调用resolve(处理结果值) 处理结果错误的话...原创 2019-11-13 19:53:19 · 204 阅读 · 0 评论 -
【ES6系列】Destructure 解构赋值
ES5 从一个复杂的数据结构中提取数据是如何实现的?ES6 有更优雅便捷的方式吗?ES6之解构赋值。解构赋值重点是在赋值,赋值的元素是要拷贝出来赋值给变量,赋值的元素本身是不会被改变的。// let arr = ['hello', 'world']// let [firstName, surName] = arr// console.log(firstName, surName)...原创 2019-11-13 16:51:45 · 271 阅读 · 0 评论 -
【ES6系列】Template
ES5 中字符串换行、包含变量或表达式、包含逻辑运算怎么处理?ES6有更优雅便捷的方式吗?ES6之前用字符串拼接+逻辑判断的方式进行处理。ES6 新增语法:1、字符串拼接String Literalsconst a = 10const b = 11const c = 'javascript'const str = `my age is ${a+b} i like ${c}...原创 2019-11-13 13:07:27 · 252 阅读 · 0 评论 -
【ES6系列】Object
一、ES5中Object属性可以简写吗?ES6可以吗?// ES6之前 Object 属性必须是 key-value 形式let x = 1;let y = 2;let z = 3;let obj = { x: x, y: y}//在 ES6 之前 Object 的 key 在定义时必须是字符串,如果想增加“动态”的 key,必须是先计算出 key,利用 object[k...原创 2019-11-12 20:56:37 · 148 阅读 · 0 评论 -
【ES6系列】Function
一、ES5中如何处理函数参数的默认值?ES6是如何做的呢?// ES5 参数默认值处理function f(x, y, z) { if (y === undefined) { y = 7 } if (z === undefined) { z = 42 } return x + y + z}console.log(f(1)) //50// ES6...原创 2019-11-12 17:14:32 · 228 阅读 · 0 评论 -
【ES6系列】Class
ES5 中怎么声明一个类?ES6 如何实现?ECMAScript 2015 中引入的 JavaScript 类实质上是 JavaScript 现有的基于原型的继承的语法糖。类语法不会为JavaScript引入新的面向对象的继承模型。// ES5 类的定义和实例化let Animal = function (type) { this.type = type}Animal.prot...原创 2019-11-12 14:53:59 · 124 阅读 · 0 评论 -
【ES6系列】数组 Array
一、ES5 中数组遍历有多少种方法?它们有什么优势和缺点?1、for 循环 - 支持break和continue2、forEach-ES5新增不支持break和continue3、every-ES5新增是否继续遍历取决于函数返回值,默认返回false,returntrue会使循环继续4、forin-ES5新增为object遍历支持......原创 2019-11-09 22:10:37 · 778 阅读 · 0 评论 -
【ES6系列】var & let & const
let 和 var 的区别:1、let 声明的变量有块级作用域。如下,变量 a 是在代码块 { } 中使用 let 定义的,它的作用域是这个代码块内部,外部无法访问{ let a = 1}console.log(a);// undefined2、let 声明的全局变量不是全局对象的属性var a = 1console.log(window.a) // 1let...原创 2019-11-09 21:30:58 · 126 阅读 · 0 评论 -
【JS作用域】作用域基础语法
作用域:变量可以被访问、修改的区域作用域链工作原理:如果一个变量或者其它表达式不在当前的作用域,那么 Javascript机制会汕头作用域链向上查找直到全局作用域(global或浏览器中的window)如果找不到将不可被使用。作用域也可以根据代码层次分层,以便子作用域可以访问父作用域,通常是指沿着链式作用域链查找,而不能从父作用域引用子作用域中的变量和引用。作用域链是什么:任何一个作用域链...原创 2019-11-09 16:49:41 · 199 阅读 · 0 评论