
ES6
VVVGG
不积跬步无以至千里
展开
-
ES6初探之let和const
定义变量的方式:let和constlet相当于之前的var,但是有所不同const用于定义常量,定义好了就不能改变这里就可以看到let和var的不同之处了,发现let和我们其他语言(例如C,C++,JAVA等)的块级作用域一样了,而var是链式作用域再看下面这个就是函数预编译的结果这里用let就提示了错误,这是因为ES6中没有预编译的过程...原创 2018-09-12 17:22:56 · 370 阅读 · 0 评论 -
ES6之类(class)和继承
原来我们写面向对象编程,都是在通过构造函数,然后在原型上写的,比如:<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> &l原创 2018-09-14 16:54:37 · 1139 阅读 · 0 评论 -
ES6模块化
引入模块然后在浏览器中查看:这是因为模块化只能在支持的环境上使用,我现在将文件放在Apache服务器环境下来进行运行使用时需要注意的方面:import 可以是相对路径或者绝对路径import同一个文件多次,也只会生效一次 import './JS/demo.js'; 直接引入就相当于引入了一个文件import {a} from './JS/demo....原创 2018-09-14 12:25:54 · 437 阅读 · 0 评论 -
Proxy
Proxy 对象用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等)。也可以用来预警,上报,扩展功能,统计,增强对象等等proxy是设计模式的一种,叫做代理模式语法: new Proxy (target, handler) target 用Proxy包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。 handler 一个对象,...原创 2018-09-19 11:18:56 · 788 阅读 · 0 评论 -
ES2018新增加的一些东西
1,命名捕获语法: (?<名字>)先来看一个原来的捕获正则;<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"&am原创 2018-09-19 10:05:46 · 651 阅读 · 0 评论 -
ES6数字变化
1,定义一个二进制(binary)的数据0b 代表二进制2,定义一个8进制(Octal)的数据以前一些对于数字的判断或者操作方法例如(isNaN)都单独写出来的: let num = 12; console.log(isNaN(num));现在这些方法基本都挂到了Number上 let num = 12; console.log(Number.i...原创 2018-09-18 18:34:07 · 316 阅读 · 0 评论 -
ES6之Promise
对于Promise理解的不好,就先放上代码如果有兴趣的同学可以看这一篇https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014345008539155e93fc16046d4bb7854943814c4f9dc2000Promise.all,传入若干P...原创 2018-09-14 09:32:43 · 187 阅读 · 0 评论 -
ES6之对象
原本对象里面的元素声明:在ES6中,如果你的键值和键名字一样,那么就可以简写成一个,即原本的函数声明:现在同样可以简写成:对象里面的函数声明不要用箭头函数Object.is()判断两个值是否是相同的值参数:value1,value2相同返回true,不同返回falseObject.is() 判断两个值是否相同。如果下列任何一项成立,则...原创 2018-09-13 15:29:22 · 1403 阅读 · 0 评论 -
ES6之Map和WeakMap
map类似对象,但是对象的键(key)只能是字符串或者数字等原始值map的key可以是任何类型定义一个map结构new Map()map(key, value);向map中添加数据获取某一个值:map.get(key)删除一个值:map.delete(key)判断是否有对应的值map.has(key)清空map列表:map.clear()...原创 2018-09-18 17:23:16 · 523 阅读 · 0 评论 -
ES6之数组(一)
forEach()代替原本的for循环 map()map可以有return,返回一个新的数组如果没有return,相当于forEach所以map也可以对数据(比如后台传过来的)进行修改filter()根据条件,过滤掉一些你不想要的元素some()查找数组内是否有某一个元素符合条件every()只...原创 2018-09-13 11:04:25 · 910 阅读 · 0 评论 -
ES6之数组(二)
1,Array.from从一个类数组或者课迭代对象中创建一个新的数组实例Array.from(arrayLike[, mapFn[, thisArg]])arrayLike 想要转换成数组的伪数组对象或可迭代对象。mapFn (可选参数) 如果指定了该参数,新数组中的每个元素会执行该回调函数。thisArg (可选参数) 可选参数,执行回调函数 mapFn 时 ...原创 2018-09-13 14:19:53 · 846 阅读 · 0 评论 -
Set和WeakSet
set数据结构类似数组,但是里面不能有重复值,构建方法 new Set([]),返回一个对象增加数据:删除数据:检查是否有某一项数据查看setArr的长度清楚所有数据循环:setArr的下标:setArr的values在我们直接for of setArr的时候,实际上循环的是...原创 2018-09-18 15:44:00 · 226 阅读 · 0 评论 -
ES6之async&await
文件结构一般解决异步问题的方法:1,promiseconst fs = require('fs');const readFile = function (fileName) { return new Promise((resolve, reject) => { fs.readFile(fileName, (err, data) => { ...原创 2018-09-18 14:12:24 · 374 阅读 · 0 评论 -
ES6之Symbol&generator
Symbol:定义:let syml = Symbol ('aaa');注意点:1,Symbol 不能new2,Symbol() 返回是一个唯一值 所以也可以作为一个key,定义一些唯一或者私有的一些东西3,typeof可以检测的类型从number,string,boolean,object,function,undefine...原创 2018-09-18 11:35:45 · 238 阅读 · 0 评论 -
ES6之函数
函数默认值:以前的函数默认值写法:在函数当中,函数的参数默认是已经定义了的,已经不能再使用let或者const从新定义了rest运算符 / 扩展运算符: 必须放到最后,不能放在中间复制数组的方法:箭头函数:再看箭头函数中this的指向问题这是正常的this指向,谁调用他,他的th...原创 2018-09-13 09:40:56 · 195 阅读 · 0 评论 -
字符串模板
字符串模板:`` <!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>&a原创 2018-09-12 18:59:44 · 233 阅读 · 0 评论 -
ES6之解构赋值
这就是解构赋值要点:1,左右两边,结构和格式要保持一致:相当于起一个别名,但是原来的job就没了= 相当于给了一个默认值,防止后台数据的空置这是undefined和null的不同点,这个问题请在下面加一个判断交换两个数据 ...原创 2018-09-12 18:08:56 · 196 阅读 · 0 评论 -
box-sizing
先来看box-sizing在W3C上的说明:box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。语法:box-sizing: content-box|border-box|inherit;值:content-box: 这是由 CSS2.1 规定的宽度高度行为。 宽度和高度分别应用到元素的内容框。 在宽度和高度之外绘制元素的内边距和边框。(...原创 2018-09-19 15:25:35 · 180 阅读 · 0 评论