[
课程介绍
](_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)
前端开发课程
模块导入import和导出export
javascript之前是没有模块的功能的,之前做js模块化开发,是用的一些js库来模拟实现的,在ES6中加入了模块的功能,一个js文件就是一个模块,js文件中需要先导出(export)后,才能被其他js文件导入(import)
ES6的导出分为名字导出和默认导出
1、名称导出导入的变量名必须和导出的变量名一致
// mod01.js文件中导出
export let iNum01 = 12;
export let fnMyalert = function(){
alert('hello');
}
// index.html文件中导入
<script type="module">
import {iNum01,fnMyalert} from "./js/mod01.js";
alert(iNum01);
fnMyalert();
</script>
// mod01.js中还可以写成如下:
let iNum01 = 12;
let fnMyalert = function(){
alert('hello');
}
export {iNum01,fnMyalert}
2、默认导出(default export) 一个模块只能有一个默认导出,对于默认导出,导入的名称可以和导出的名称不一致,这对于导出匿名函数或类非常有用。
// mod02.js文件中导出
export default {"name":"tom","age":18}
// index.html文件中导入
<script type="module">
import person from "./js/mod02.js";
alert(person.name);
</script>
对象的简写
javascript对象在ES6中可以做一些简写形式,了解这些简写形式,才能方便我们读懂一些在javascript代码中简写的对象。
let name = '李思';
let age = 18;
/*
var person = {
name:name,
age:age,
showname:function(){
alert(this.name);
},
showage:function(){
alert(this.age);
}
}
*/
// 简写成下面的形式
var person = {
name,
age,
showname(){
alert(this.name);
},
showage(){
alert(this.age);
}
}
person.showname();
person.showage();
定义类及类的继承
ES6 封装了class语法来大大简化了类的创建和类的继承
// 定义类,类的首字母要大写
class Person {
// 定义构造函数
constructor(name,age){
this.name = name;
this.age = age;
}
// 定义方法
showname(){
alert('我的名字是:' + this.name);
}
showage(){
alert('我的年龄是:' + this.age);
}
}
// 通过类实例化对象
let Andy = new Person('刘德华',55);
// 调用对象的方法
Andy.showname();
Andy.showage();
// 定义类继承Person类
class Student extends Person{
constructor(name,age,school){
super(name,age);
this.school = school;
}
showschool(){
alert('我的学校是:' + this.school);
}
}
// 通过类实例化对象
let Tom = new Student('小明','16','北京一中');
// 调用对象的方法
Tom.showname();
Tom.showschool();