面向对象/闭包/ES6的模块化

一 面向对象
发展过程:机器语言->汇编->低级语言->高级语言->模块->框架->API
特点:
1.封装性
Person 父类

class Person{
   constructor(name,age){
      this.name=name;
      this.age=age
    }
    show(){
      alert(this.name)
      alert(this.age)
    }
}

2.继承性
Worker子类,继承父类

class Worker extends Person(){
    constructor(name,age,job){
        super(name,age)
        this.job=job  
      }
    showJob(){
      alert(this.name,this.age,this,job)
      }
}

继承的关键字
class 声明类
constructor 声明属性
extends 继承父类
super 继承父类的属性

class XX extends XXX(){
    constructor(a,b){
      super(a);
      this.b=b
    }
    fun(){}
}

3.多态性

二 闭包
1.底层:栈
2.高级:函数当作对象处理

本质:留着别删

三 ES6的模块化
发展过程:没有模块->CMD->AMD->ES6语言提供模块化支持
ES6的模块化->webpack

1.webpack
作用: 1>打包2>引入模块
webpack编译:
1>.entry--入口地址
2>.output-输出
path:绝对路径
filename:文件名
3>.mode-模式
4>.所有的当前的路径前面加./ (node.js的要求)

2.export输出写法
export let a=xx export const a=xx

```
let a=1,b=2,c=3
export{a,b,c}
```


`export tt(tt为文件名)`
导出方法
`export function xxx(){}`
导出类
```
export class XX{

}
```
默认导出
`default export a`

3.import导入

import * as mod from './mod'  //引入所有的成员
import {a,b,c} from './mod'      //引入a,b,c
import xxx from './mod'   //无xxx的话引入的是默认成员,命名为xxx

//模块的代码引入进来,不引入内部的成员

import "./1.jpg"
import "./1.css"

//异步引入

4.正则表达式
一般用的时候网上查一下就可以了,CV大法!!!

posted @ 2022-01-07 11:36  董董sweet  阅读(120)  评论(0)    收藏  举报