我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

李扬敏-20221124-js高阶

[复制链接]
王源的李可爱 发表于 2022-11-25 00:40:31 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一.今日学习内容
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(实例对象)

回复

使用道具 举报

关注0

粉丝0

帖子58

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026