菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题: 李扬敏-20221124-js高阶 [打印本页]
作者: 王源的李可爱 时间: 2022-11-25 00:40
标题: 李扬敏-20221124-js高阶
一.今日学习内容
1.闭包
概念:跨作用域访问变量,形成闭包,闭包是一种作用域的体现
闭包的标准写法
常见闭包写法:父函数嵌套子函数,子函数可以访问父函数的变量,把子函数返回或者挂载到window上:window.$名={}
2.闭包的作用
实现了早期的模块化开发,把所有的变量隐藏在内部,对外暴露统一的访问接口:暴露钥匙
隐藏变量,避免全局污染[ES6自带模块化开发]
闭包的优缺点
优点:隐藏了变量,避免全局污染,实现了早期的模块化开发
缺点:一旦形成了闭包,这个变量不会被内存释放,内存开销比较大,会造成内存泄漏,所以不建议过多使用闭包(ES6自带模块化开发可以解决这个问题)
3.面向对象思想
面向过程--POP
按照流程步骤,一步一步走,实现功能,每一步都是亲力亲为
优点:对流程细节把控清晰
缺点:不适合大型项目
面向对象OOP
从全局触发,把功能都封装在对象中,然后要做什么就找什么对象,调用对象的方法
优点:适合大型项目,把功能都封装在对象中
缺点:对细节把控不清晰
4.类和构造函数
const arr=new Array();
arr:实例对象
Array:构造函数(首字母大写的数据类型),ES5中,类===构造函数
字面量(let a=[];)是一种语法糖:真正执行的过程:new,所有的数组都是底层new出来的
构造函数:new 首字母大写的基本数据类型
赋值取值是通过valueOf
内置的类都是大写开头
构造函数不是对象,是内置的函数
constructor----构造函数
类===构造函数:ES5中
5.js内置构造函数
Array String Number Function Object Boolean Error RegExp...
作用:造(new处理)出各种各样类型的数据。实例化出来。new出各种实例对象,得到各种类型的数据
6.自定义构造函数特点
首字母大写
属性和方法都挂在this上
没有返回值
使用new来调用
#new的过程发生了什么
首先创建一个空对象
this指向这个实例对象
执行这个构造函数的代码--代码全部走一遍
自动返回this(实例对象)
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) |
Powered by Discuz! X3.4 |