es6

var:全局变量
let:局部变量
let 不能多次声明一个变量
let不存在类型提升

const声明只读常量

解构表达式:

let arr= [1,2,3];
let a = arr[0];
let b= arr[1];
let c= arr[2];

const [a,b,c] = arr;

对象解构
const {name, age} = person

字符串模板 ``
插值表达式 “我是${name}”

箭头函数: var fun = obj =>console.log(obj);

扩展运算符:
对象深拷贝:
let some = {…person}

let arr = [1,2,3]
arr 每个×2
arr.map((item)=>{item*2});

reduce(callback,initiaValue)会传入两个变量,回调函数(callback)和初始值(initiaValue)。
reduce 对元素执行回调函数

promise封装异步编排

模块化:
export{}导出
import xx from “xxx”

vue

MVVM:
M: Model,数据和基本操作
V: view
VM: View-model,模型与试图之间的双向操作

vue2学习:
创建vue文件夹,
npm init -y 初始化
npm install vue

vue就安装在”./node_modules/vue/dist/vue.js”,
script引入

v-model 双向绑定
v-on绑定事件:click 简写 @click

v-text
v-html :转义

{{}}插值表达式,可以调用vue中的数据、方法,只能写在标签体内
v-bind:可以在html标签属性中绑定插值表达式 简写 :

防止事件冒泡的父元素, @click.stop

v-for =” (user, index) in usrs”

v-if: 删除dom元素
v-show: 隐藏dom元素

计算属性、监听器:
watch:{}
filters:{
genderFilter(val){
if(val==1){ return ‘男’;}
else{return “女”;}
}
}
{{user.gender | genderFileter}}

组件化:
全局声明: Vue.component(‘counter’, {
templates: <button>{{count}}个人</button>,
data(){
return {
counter: 1
}
}
});
局部声明:
const bncounter ={
templates: <button>{{count}}个人</button>,
data(){
return {
counter: 1
}
}
}
new Vue({
el: ‘#app’,
component:{
‘button-counter’: bncounter
}
});

vue的生命周期和钩子函数:
beforecreate, create, mount

模块化开发:
npm install webpack -g
npm install -g @vue-cli

vue init webpack vue-demo
npm run dev

main.js

routers:
index.jx

component:
Hello.vue

三部分