1. [
  1. 课程介绍
  2. ](_index_)
    1. [
  1. htmlcss入门
  2. ](001day_index)
  3. -
  4. [
  5. html概述及基本结构
  6. ](001day_section02)
    1. [
  1. html标签入门
  2. ](001day_section03)
    1. [
  1. html布局入门
  2. ](001day_section04)
    1. [
  1. css介绍
  2. ](001day_section05)
    1. [
  1. css载入方式
  2. ](001day_section06)
    1. [
  1. css选择器一
  2. ](001day_section07)
    1. [
  1. css元素属性及盒子模型
  2. ](001day_section08)
    1. [
  1. css文本属性
  2. ](001day_section09)
    1. [
  1. css基本布局演示
  2. ](001day_section10)
    1. [
  1. htmlcss进阶
  2. ](002day_index)
  3. -
  4. [
  5. 相对地址与绝对地址
  6. ](002day_section01)
    1. [
  1. 列表
  2. ](002day_section02)
    1. [
  1. 表单
  2. ](002day_section03)
    1. [
  1. 表格
  2. ](002day_section04)
    1. [
  1. css选择器二
  2. ](002day_section05)
    1. [
  1. css显示特性
  2. ](002day_section06)
    1. [
  1. css元素溢出
  2. ](002day_section07)
    1. [
  1. htmlcss高级
  2. ](003day_index)
  3. -
  4. [
  5. 定位
  6. ](003day_section01)
    1. [
  1. css权重
  2. ](003day_section02)
    1. [
  1. photoshop辅助测量与取色
  2. ](003day_section03)
    1. [
  1. 前端页面开发流程
  2. ](003day_section04)
    1. [
  1. javascript入门及进阶
  2. ](004day_index)
  3. -
  4. [
  5. JavaScript介绍
  6. ](004day_section01)
    1. [
  1. JavaScript嵌入页面的方式
  2. ](004day_section02)
    1. [
  1. 变量、数据类型及基本语法规范
  2. ](004day_section03)
    1. [
  1. 函数
  2. ](004day_section04)
    1. [
  1. 获取元素方法
  2. ](004day_section05)
    1. [
  1. 操作元素
  2. ](004day_section06)
    1. [
  1. 事件属性及匿名函数
  2. ](004day_section07)
    1. [
  1. 条件语句
  2. ](004day_section08)
    1. [
  1. javascript高级
  2. ](005day_index)
  3. -
  4. [
  5. 数组及操作方法
  6. ](005day_section01)
    1. [
  1. 循环语句
  2. ](005day_section02)
    1. [
  1. 字符串及操作方法
  2. ](005day_section03)
    1. [
  1. 定时器
  2. ](005day_section04)
    1. [
  1. 调试程序的方法
  2. ](005day_section05)
    1. [
  1. 变量作用域
  2. ](005day_section06)
    1. [
  1. 封闭函数
  2. ](005day_section07)
    1. [
  1. JQuery入门
  2. ](006day_index)
  3. -
  4. [
  5. jquery介绍
  6. ](006day_section01)
    1. [
  1. jquery文档加载完再执行
  2. ](006day_section02)
    1. [
  1. jquery选择器
  2. ](006day_section03)
    1. [
  1. jquery样式操作
  2. ](006day_section04)
    1. [
  1. 绑定click事件
  2. ](006day_section05)
    1. [
  1. jquery动画
  2. ](006day_section06)
    1. [
  1. JQuery进阶
  2. ](007day_index)
  3. -
  4. [
  5. jquery特殊效果
  6. ](007day_section01)
    1. [
  1. jquery链式调用
  2. ](007day_section02)
    1. [
  1. jquery属性操作
  2. ](007day_section03)
    1. [
  1. jquery事件
  2. ](007day_section04)
    1. [
  1. 表单验证
  2. ](007day_section05)
    1. [
  1. JQuery高级
  2. ](008day_index)
  3. -
  4. [
  5. 事件冒泡
  6. ](008day_section01)
    1. [
  1. 事件委托
  2. ](008day_section02)
    1. [
  1. Dom操作
  2. ](008day_section03)
    1. [
  1. javascript对象
  2. ](008day_section04)
    1. [
  1. json
  2. ](008day_section05)
    1. [
  1. ajax
  2. ](008day_section06)
    1. [
  1. ES6语法
  2. ](009day_index)
  3. -
  4. [
  5. 变量声明和赋值
  6. ](009day_section01)
    1. [
  1. 函数相关
  2. ](009day_section02)
    1. [
  1. 模块及面向对象
  2. ](009day_section03)
    1. [
  1. 异步请求数据
  2. ](009day_section04)
    1. [
  1. 新增数组操作方法
  2. ](009day_section05)
    1. [
  1. react入门和进阶
  2. ](010day_index)
  3. -
  4. [
  5. react介绍
  6. ](010day_section01)
    1. [
  1. 快速开始
  2. ](010day_section02)
    1. [
  1. JSX语法
  2. ](010day_section03)
    1. [
  1. 组件和属性(props)
  2. ](010day_section04)
    1. [
  1. 绑定事件
  2. ](010day_section05)
    1. [
  1. 状态(state)
  2. ](010day_section06)
    1. [
  1. 列表渲染
  2. ](010day_section07)
    1. [
  1. 表单数据绑定
  2. ](010day_section08)
    1. [
  1. react高级
  2. ](011day_index)
  3. -
  4. [
  5. 生命周期方法
  6. ](011day_section01)
    1. [
  1. 数据交互
  2. ](011day_section02)
    1. [
  1. 脚手架开发
  2. ](011day_section03)
    1. [
    2. 本書使用 GitBook 釋出
    3. ](https://www.gitbook.com)

前端开发课程

模块导入import和导出export

javascript之前是没有模块的功能的,之前做js模块化开发,是用的一些js库来模拟实现的,在ES6中加入了模块的功能,一个js文件就是一个模块,js文件中需要先导出(export)后,才能被其他js文件导入(import)
ES6的导出分为名字导出和默认导出 1、名称导出导入的变量名必须和导出的变量名一致

  1. // mod01.js文件中导出
  2. export let iNum01 = 12;
  3. export let fnMyalert = function(){
  4. alert('hello');
  5. }
  6. // index.html文件中导入
  7. <script type="module">
  8. import {iNum01,fnMyalert} from "./js/mod01.js";
  9. alert(iNum01);
  10. fnMyalert();
  11. </script>
  12. // mod01.js中还可以写成如下:
  13. let iNum01 = 12;
  14. let fnMyalert = function(){
  15. alert('hello');
  16. }
  17. export {iNum01,fnMyalert}

2、默认导出(default export) 一个模块只能有一个默认导出,对于默认导出,导入的名称可以和导出的名称不一致,这对于导出匿名函数或类非常有用。

  1. // mod02.js文件中导出
  2. export default {"name":"tom","age":18}
  3. // index.html文件中导入
  4. <script type="module">
  5. import person from "./js/mod02.js";
  6. alert(person.name);
  7. </script>

对象的简写

javascript对象在ES6中可以做一些简写形式,了解这些简写形式,才能方便我们读懂一些在javascript代码中简写的对象。

  1. let name = '李思';
  2. let age = 18;
  3. /*
  4. var person = {
  5. name:name,
  6. age:age,
  7. showname:function(){
  8. alert(this.name);
  9. },
  10. showage:function(){
  11. alert(this.age);
  12. }
  13. }
  14. */
  15. // 简写成下面的形式
  16. var person = {
  17. name,
  18. age,
  19. showname(){
  20. alert(this.name);
  21. },
  22. showage(){
  23. alert(this.age);
  24. }
  25. }
  26. person.showname();
  27. person.showage();

定义类及类的继承

ES6 封装了class语法来大大简化了类的创建和类的继承

  1. // 定义类,类的首字母要大写
  2. class Person {
  3. // 定义构造函数
  4. constructor(name,age){
  5. this.name = name;
  6. this.age = age;
  7. }
  8. // 定义方法
  9. showname(){
  10. alert('我的名字是:' + this.name);
  11. }
  12. showage(){
  13. alert('我的年龄是:' + this.age);
  14. }
  15. }
  16. // 通过类实例化对象
  17. let Andy = new Person('刘德华',55);
  18. // 调用对象的方法
  19. Andy.showname();
  20. Andy.showage();
  21. // 定义类继承Person类
  22. class Student extends Person{
  23. constructor(name,age,school){
  24. super(name,age);
  25. this.school = school;
  26. }
  27. showschool(){
  28. alert('我的学校是:' + this.school);
  29. }
  30. }
  31. // 通过类实例化对象
  32. let Tom = new Student('小明','16','北京一中');
  33. // 调用对象的方法
  34. Tom.showname();
  35. Tom.showschool();