一、今日学习内容:
- 闭包
- 概念
- 跨作用域访问变量,形成闭包,闭包是一种作用域的体现
- 常见闭包写法:
- 父函数嵌套子函数,子函数可以访问父函数的变量,把子函数返回或挂载在window上
- 闭包的作用
- 实现了早期的模块化开发,把所有的变量隐藏在内部,对外暴露统一的访问接口
- 闭包的优缺点
- 缺点:
- 一旦形成了闭包,会产生一个变量,这个变量不会被内存释放,内存开销比较大会造成内存泄漏,所以不建议过多使用闭包
- 面向对象
- 面向过程POP
- 概念:
- 按照流程步骤,一步一步地走,实现功能,每一步都是亲力亲为
- 面向对象OOP
- 概念:
- 从全局触发,把功能都封装在对象中,然后要做什么就找什么对象,调用对象的方法
- 类和构造函数的关系
- 概念
- js内置的构造函数有:Array、String、Number、Function、Object、Date、Boolean、Error、RegExp...
- 作用:造出各种各样类型的数据。造:通过new处理,实例化出来。new出各种实例对象,得到各种类型的数据
- 如果js内置没有这个构造函数,如何自己写出一个构造函数(自己怎样发明一个)?
- new的过程发生了什么?
- 执行这个构造函数的代码----这里面的代码群都要走一遍
- str(变量).constructor===String
- 不是所有的东西都是类,eg:undefined、null都不是类
- 一般函数跟箭头函数的区别
- 箭头函数中,省略了function关键字,用=>代替
- { }中只有一行代码时,可省略{ },同时必须省略return
- ES6箭头函数中没有实参集合arguments,只有剩余参数. . .rest
- 箭头函数不能用new调用,没有constructor
- 一般函数的标志是function关键字,有具名函数,也有匿名函数
|