一、环境准备
1.Atom编辑器(webStorm、sublime也可,其他就算了)
2.集成服务器环境Windows-wamp、Mac-xampp、Linux-Nginx(有其他惯用的也可以,但要求支持PHP、MySQL)
3.VMware虚拟机
4.CentOS 64bit镜像(没有的去mirrors.163.com下载)
5.putty、winSCP(Mac用yummy FTP、Linux直接ssh)
6.Photoshop CS6以上版本
7.git for windows(Mac用git-scm、Linux直接yum/apt)
8.TortoiseSVN(Mac用SnailSVN、Linux直接yum/apt)
9.Node.js v9.*
10.phonegap-cli v6.5.2(不要用最新版)
11.APICloud Studio 2
12.Navicat for MySQL
13.MongoDB
14.Chrome、Firefox
二、ES6新语法
1. 变量/赋值
var 可以重复定义,不能限制修改,没有块级作用域
let 定义变量(不能重复定义),块级作用域(不用写闭包)
const 定义常量(不能重复定义),块级作用域(不用写闭包)
解构赋值
a. 左右两边必须一样,右边得是个东西
b. 定义和赋值必须同步完成
let [a,b] = [12,9];
let {n1,n2,n3} = {a:12, b:3, c:7};
let [n1,{a,b,c},n2] = [12,{a:{n1:5,n2:8,n3:11}, b:34, c:66} ,9];
2. 函数
箭头函数
function (参数,参数){
函数体
}
(参数,参数)=>{
函数体
}
a. 如果有且仅有1个参数,()可以省
b. 如果函数体只有一句话,而且是return,{}可以省
默认参数
(a=xx, b=xx, c=xx)
参数展开(剩余参数、数组展开)
1. “三个点”的第1个用途:接收剩余参数
function show(a, b, ...名字)
剩余参数必须在参数列表的最后
2. “三个点”的第2个用途:展开一个数组
3.数组/json
数组——5种
map 映射:一个对一个
[18, 67, 98, 25, 17, 96] => [false, true, true, false, false, true]
reduce 汇总:一堆->一个
filter 过滤:
[12,5,88,37,21,91,17,24]
forEach 遍历:
Array.from([array-like])=>[x,x,x]
json——2个变化
a. 简写:名字和值一样的,可以省
b. function可以不写
4.字符串
字符串模板:植入变量、任意折行
if(sNum.startsWith('135')){
alert('移动');
}else{
alert('联通');
}
if(filename.endsWith('.txt')){
alert('文本文件');
}else{
alert('图片文件');
}
5.面向对象
class/constructor
extends/super
普通函数:根据调用我的人 this老变
箭头函数:根据所在的环境 this恒定,定义在谁身上就是谁
bind——给函数定死一个this