菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育

标题: 巨朝阳-20221124-js高级2 [打印本页]

作者: 云云    时间: 2022-11-24 23:29
标题: 巨朝阳-20221124-js高级2
一、今日学习

# 1.闭包

## 1.1闭包的作用

实现早起的模块化开发,把所有的变量隐藏到内部,对外暴露统一的访问接口

隐藏变量,避免全局污染【ES6自带模块化开发】

## 1.2闭包的优缺点

优点:隐藏变量,避免全局污染,实现了早期的模块化开发

缺点:一旦形成了闭包,这个变量不会被内存释放,内存开销比较大,会造成内存泄漏,所以不建议过多使用

# 2.面对对象思想

## 2.1面向过程POP

按照流程步骤,一步一步走,实现功能,每一步都是亲力亲为

```javascript
优点:对流程细节把控清晰

缺点:不适合大型项目
```

## 2.2面向对象OOP

从全局出发,把功能都封装在对象中

```javascript
优点:适合大型项目,功能都封装在各个对象中

缺点:对细节把控不清晰
```

# 3.类和构造函数的关系【掌握】

1.概念:构造函数在js中可以称为类

2.js内置的构造函数有:Array String Number Function Object Date Boolean Error RegExp...

3.他们的作用:造出各种各样类型的数据。造:new出来,实例化出来。new出来各种实例化对象,可以得到各种类型的数据

4.如果js内置没有这个构造函数,自己怎么写一个构造函数?

```javascript
特点
1.构造函数首字母大写
2.属性和方法都挂载在this上 this指向的是实例对象
3.没有返回值
4.使用new调用
```

## 3.1new的时候发生了什么

1.首先会创建一个空的对象

2.this指向实例对象

3.执行构造函数的代码

4.自动返回了一个this this指向实例对象




欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) Powered by Discuz! X3.4