web全栈架构师[笔记] — 01 ECMAScript6新特性
ES6新特性
一、变量
- var:重复定义不报错;没有块级作用域;不能限制修改
- let:变量,不能重复定义,有块级作用域
- const:常量,不能重复定义,有块级作用域
二、函数/参数
- 箭头函数——简写:
- 1.只有一个参数,()可以省
- 2.只有一个语句,还是return,{}可以省
- 参数扩展——剩余参数
- 数组展开
三、模块化
1、sea.js、require.js
- 规范:CMD 、AMD(区别是什么)
seajs作用:按需引用,解决依赖
// 定义模块
define(function(require, exports, module) {
// 1.exports
// exports.a = 12
// exports.b = 5
// 2.require
let mod2 = require('./mod2.js')
// 3.module:批量导出
module.exports = {
a:12,b:5,c:8,d:7,num:mod2.num,
show(a,b){
alert(a+b)
}
}
});
// 引用模块
seajs.use(['xxx.js','xxx.js',...],function(mod1,mod2,..){
})
2、nodejs模块化
- 没有define
- 有exports、require、module
- 引用自定义模块
- 放到node_modules文件夹里面
- 前面加./ ,例如:
./mod1.js
3、ES6模块化
四、数组
- map(映射):
- reduce(汇总):
- filter(过滤):
- forEach(迭代、遍历):
五、字符串
- 字符串模板:
xxxx${变量}xxx
六、面向对象
- class
- super
- extends
七、promise
- 作用:解决异步操作
本质:(状态机)等待异步操作结束
- 当状态改变的时候调用之前挂起的then队列
- then的时候直接执行对应函数,并且参数给人家
同步——只有操作结束了,才往下执行(一次只能做一个事)
异步——这个操作进行中,其他操作也能开始(一次可以做多个事)
异步的优势:
- 用户体验好
- 高效
同步的优势:
- 简单
promise:
// 创建Promise对象
let p = new Promise(function(resolve,reject){
异步代码...
}); // 使用Promise对象
p.then(()=>{ },()=>{ })
八、generator
- 本质:无感处理异步操作
- 普通函数:一直执行到头
- generator:中间可以暂停
- yield:
- 传参
- 返回值
九、async/await
- 本质:官方runner
十、json
web全栈架构师[笔记] — 01 ECMAScript6新特性的更多相关文章
- web全栈架构师[笔记] — 03 html5新特性
HTML5新特性 一.geolocation PC端 精度比较低 通过IP库定位 移动端 通过GPS window.navigator.geolocation 单次 getCurrentPositio ...
- web全栈架构师[笔记] — 02 数据交互
数据交互 一.http协议 基本特点 1.无状态的协议 2.连接过程:发送连接请求.响应接受.发送请求 3.消息分两块:头.体 http和https 二.form 基本属性 action——提交到哪儿 ...
- 2019最新WEB全栈架构师第八期视频教程
下载链接:https://www.yinxiangit.com/117.html
- 22期老男孩Ptython全栈架构师视频教程
老男孩Ptython全栈架构师视频教程 Python最新整理完整版22期视频教程 超60G课程容量<ignore_js_op> <ignore_js_op> <ignor ...
- 添物零基础到大型全栈架构师 Java实战及解析(实战篇)- 概述
实战篇是在基础之上,进一步提升的内容.通过实战篇可以深入理解Java相关框架和库的使用,能够独立开发小模块,或者按照架构师的指导进行代码编写和完善. 主要讲解核心框架和库的使用和使用场景介绍.通过 ...
- Kubernetes全栈架构师(基本概念)--学习笔记
目录 为什么要用Kubernetes? K8s控制节点-Master概念 K8s计算节点-Node概念 什么是Pod? 为什么要引入Pod? 创建一个Pod 零宕机发布应用必备知识:Pod三种探针 零 ...
- Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记
目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token ...
- Kubernetes全栈架构师(资源调度上)--学习笔记
目录 Replication Controller和ReplicaSet 无状态服务Deployment概念 Deployment的创建 Deployment的更新 Deployment的回滚 Dep ...
- Kubernetes全栈架构师(二进制高可用安装k8s集群部署篇)--学习笔记
目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制No ...
随机推荐
- Redis 学习笔记(十二)Redis 复制功能详解 ----- (error) READONLY You can't write against a read only slave
Redis 复制(Replication)1. 复制介绍分布式数据库为了获取更大的存储容量和更高的并发访问量,会将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上.Redis为了解决 ...
- es2017新特性
2017年6月底es2017不期而至; 截止目前es8是ecmascript规范的第九个版本:自es2015开始ECMA协会将每年发布一个版本并将年号作为版本号:算了 直接看下es2017的新特性: ...
- 火狐浏览器安装 Modify Headers 插件
一.火狐浏览器插件安装 这里以火狐浏览器的Modify Headers插件安装为例,展示火狐插件的安装: 1.打开火狐浏览器,右上角选择“附加组件” 2.搜索Modify Headers插件 3.安装 ...
- Java学习笔记29(集合框架三:泛型)
泛型的概念: 简单地讲,就是同一个方法(类),可以接受不同的数据类型并运行得到相对应的结果,不会出现安全问题 上一篇有一段这样的代码: 没有定义集合类型.迭代器类型 package demo; imp ...
- MySql安装与使用(linux)
安装 MySQL 注意:此处安装是yum安装为例: MySQL安装 #yum install mysql-server 完后显示如下: MySQL初始化 #service mysqld start 查 ...
- .NET 构造DataTable返回多个json值
有时候我们使用Ajax链接一般处理程序需要返回多个值,然而这些数据并非在一个查询表内,此时便想到构造一个虚拟的DataTable,这样就可以返回多个值了(当然有很多办法,这是其中一种 ). 首先我们需 ...
- Myeclipse--jBPM4.3插件
http://www.baidupcs.com/file/c7f3b8fc57b056567b37d081b1bcd21e?xcode=3966699596a0e8ec88581bd8407457f9 ...
- 从零开始学 Web 之 JavaScript(三)函数
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- Java并发编程笔记之 CountDownLatch闭锁的源码分析
JUC 中倒数计数器 CountDownLatch 的使用与原理分析,当需要等待多个线程执行完毕后在做一件事情时候 CountDownLatch 是比调用线程的 join 方法更好的选择,CountD ...
- postman自定义函数实现 时间函数
一:主要内容 postman环境变量方式封装格式化日期函数:yyyy-MM-dd HH:mm:ss postman利用moment模块实现格式化日期函数:yyyy-MM-dd HH:mm:ss 二:p ...