Day14(ES6模块化)
一、new关键字的作用
1. 自动在构造函数里面创建一个对象
2. 将构造函数内部的this指向到这个创建的对象
3. 自动返回这个创建的对象
function Person(){
// 此处代码都会执行
// 通过this添加的属性和方法是给对象自身添加的
}
// 把方法放在构造函数的prototype添加
Person.prototype.方法 = function(){}
// 直接调用
Person()
// new调用
var p1 = new Person()
p1.__proto__.方法()
p1.方法()
二、es6 module模块化 --> esm规范
+ 模块: 每一个文件都是一个独立的模块
+ 模块化: 将每一个独立的模块组合成一个整体
+ 导入
- import 文件路径
+ 这种导入只是将引入js文件执行了
+ 每一个js文件都是一个独立模块 不是引入了一个js之后这个js里面所有的属性和方法都能使用
+ 如果我们需要使用一个引入js的属性和方法 需要这个引入js导出
+ 导出
- 单个导出 export
+ export 变量
+ export 函数
+ ...
+ 一个js文件中能够有多个单个导出
+ 对应导入方式 import {变量名, 函数名} from 文件路径, 此处的变量名和函数名要和导出名称一致
- 默认导出 export default
+ export default 变量
+ export default 函数
+ ...
+ 一个js文件中只能有一个默认的导出
+ 对应导入方式 import 变量名 from 文件路径 此处变量名不需要和导出的一致