[
课程介绍
](_index_)
[
html和css入门
](001day_index)
-
[
html概述及基本结构
](001day_section02)
[
html标签入门
](001day_section03)
[
html布局入门
](001day_section04)
[
css介绍
](001day_section05)
[
css载入方式
](001day_section06)
[
css选择器一
](001day_section07)
[
css元素属性及盒子模型
](001day_section08)
[
css文本属性
](001day_section09)
[
css基本布局演示
](001day_section10)
[
html和css进阶
](002day_index)
-
[
相对地址与绝对地址
](002day_section01)
[
列表
](002day_section02)
[
表单
](002day_section03)
[
表格
](002day_section04)
[
css选择器二
](002day_section05)
[
css显示特性
](002day_section06)
[
css元素溢出
](002day_section07)
[
html和css高级
](003day_index)
-
[
定位
](003day_section01)
[
css权重
](003day_section02)
[
photoshop辅助测量与取色
](003day_section03)
[
前端页面开发流程
](003day_section04)
[
javascript入门及进阶
](004day_index)
-
[
JavaScript介绍
](004day_section01)
[
JavaScript嵌入页面的方式
](004day_section02)
[
变量、数据类型及基本语法规范
](004day_section03)
[
函数
](004day_section04)
[
获取元素方法
](004day_section05)
[
操作元素
](004day_section06)
[
事件属性及匿名函数
](004day_section07)
[
条件语句
](004day_section08)
[
javascript高级
](005day_index)
-
[
数组及操作方法
](005day_section01)
[
循环语句
](005day_section02)
[
字符串及操作方法
](005day_section03)
[
定时器
](005day_section04)
[
调试程序的方法
](005day_section05)
[
变量作用域
](005day_section06)
[
封闭函数
](005day_section07)
[
JQuery入门
](006day_index)
-
[
jquery介绍
](006day_section01)
[
jquery文档加载完再执行
](006day_section02)
[
jquery选择器
](006day_section03)
[
jquery样式操作
](006day_section04)
[
绑定click事件
](006day_section05)
[
jquery动画
](006day_section06)
[
JQuery进阶
](007day_index)
-
[
jquery特殊效果
](007day_section01)
[
jquery链式调用
](007day_section02)
[
jquery属性操作
](007day_section03)
[
jquery事件
](007day_section04)
[
表单验证
](007day_section05)
[
JQuery高级
](008day_index)
-
[
事件冒泡
](008day_section01)
[
事件委托
](008day_section02)
[
Dom操作
](008day_section03)
[
javascript对象
](008day_section04)
[
json
](008day_section05)
[
ajax
](008day_section06)
[
ES6语法
](009day_index)
-
[
变量声明和赋值
](009day_section01)
[
函数相关
](009day_section02)
[
模块及面向对象
](009day_section03)
[
异步请求数据
](009day_section04)
[
新增数组操作方法
](009day_section05)
[
react入门和进阶
](010day_index)
-
[
react介绍
](010day_section01)
[
快速开始
](010day_section02)
[
JSX语法
](010day_section03)
[
组件和属性(props)
](010day_section04)
[
绑定事件
](010day_section05)
[
状态(state)
](010day_section06)
[
列表渲染
](010day_section07)
[
表单数据绑定
](010day_section08)
[
react高级
](011day_index)
-
[
生命周期方法
](011day_section01)
[
数据交互
](011day_section02)
[
脚手架开发
](011day_section03)
[
本書使用 GitBook 釋出
](https://www.gitbook.com)
前端开发课程
变量声明let和const
let和const是新增的声明变量的开头的关键字,在这之前,变量声明是用var关键字,这两个关键字和var的区别是,它们声明的变量没有预解析,let和const的区别是,let声明的是一般变量,const申明的常量,不可修改。
alert(iNum01) // 弹出undefined
// alert(iNum02); 报错,let关键字定义变量没有变量预解析
// alert(iNum03); 报错,const关键字定义变量没有变量预解析
var iNum01 = 6;
// 使用let关键字定义变量
let iNum02 = 12;
// 使用const关键字定义变量
const iNum03 = 24;
alert(iNum01); // 弹出6
alert(iNum02); // 弹出12
alert(iNum03); // 弹出24
iNum01 = 7;
iNum02 = 13;
//iNum03 = 25; // 报错,const定义的变量不可修改,const定义的变量是常量
alert(iNum01)
alert(iNum02);
alert(iNum03);
解构赋值
ES6 允许我们按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)
1、数组的解构赋值
const arr = [1, 2, 3]
let [a, b, c] = arr
console.log(a, b, c); // 1 2 3
2、对象的解构赋值
const obj = { name: 'tom',address:'beijing', age: '100'}
let {name, age} = obj // 变量名称必须和对象的key同名
console.log(name, age); //tom 100
3、函数参数的解构赋值
const person = { name: '小明', age: 11}
function printPerson({name, age}) { // 函数参数可以解构一个对象
console.log(`姓名:${name} 年龄:${age}`);
}
printPerson(person) // 姓名:小明 年龄:11
字符串模板
ES6中提供了模版字符串,用`(反引号)标识,用${}将变量括起来
let name = '小明';
let age = 11;
alert(`我的名字是${name},我的年龄是${age}岁。`)
扩展运算符(…)
扩展运算符(…),它用于把一个数组转化为用逗号分隔的参数序列,它常用在不定参数个数时的函数调用,数组合并等情形。
let arr = [1,2,3];
let arr2 = [...arr,4];
console.log(arr2) // [1,2,3,4]
function fnAdd(a,b,c){
alert(a + b + c);
}
fnAdd(...arr); // 6
function fnMyalert(...a){
console.log(a);
alert(a[0]);
alert(a[1]);
}
fnMyalert(10,5); // [10,5] 10 5