菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
陈紫怡-20221124-js高级2
[打印本页]
作者:
Dasmondlicht
时间:
2022-11-24 23:26
标题:
陈紫怡-20221124-js高级2
一、今日学习内容:
闭包
概念
跨作用域访问变量,形成闭包,闭包是一种作用域的体现
常见闭包写法:
父函数嵌套子函数,子函数可以访问父函数的变量,把子函数返回或挂载在window上
闭包的作用
实现了早期的模块化开发,把所有的变量隐藏在内部,对外暴露统一的访问接口
隐藏变量, 避免全局污染 ES6自带模块化开发
闭包的优缺点
优点:
隐藏变量,避免了全局污染,实现了早期的模块化开发
缺点:
一旦形成了闭包,会产生一个变量,这个变量不会被内存释放,内存开销比较大会造成内存泄漏,所以不建议过多使用闭包
面向对象
面向过程POP
概念:
按照流程步骤,一步一步地走,实现功能,每一步都是亲力亲为
优点:
对流程把握比较清晰
缺点
不适合大型项目
面向对象OOP
概念:
从全局触发,把功能都封装在对象中,然后要做什么就找什么对象,调用对象的方法
优点:
适合大型项目,把所有功能封在各自对象中
缺点:
细节把控不清楚
类和构造函数的关系
概念
构造函数在js中,可以称为类
js内置的构造函数有:Array、String、Number、Function、Object、Date、Boolean、Error、RegExp...
作用:造出各种各样类型的数据。造:通过new处理,实例化出来。new出各种实例对象,得到各种类型的数据
如果js内置没有这个构造函数,如何自己写出一个构造函数(自己怎样发明一个)?
特点
1.构造函数首字母大写
2.属性和方法都挂载在this(指向实例对象)上
3.没有返回值
4.使用new调用
new的过程发生了什么?
首先回创建一个空的对象
this指向这个实例对象
执行这个构造函数的代码----这里面的代码群都要走一遍
自动返回this(实例对象)
基本数据类型通过valueOf赋值
构造函数是js内置对象
str(变量).constructor===String
不是所有的东西都是类,eg:undefined、null都不是类
一般函数跟箭头函数的区别
箭头函数都是匿名函数,不能用于构造函数
箭头函数中,省略了function关键字,用=>代替
箭头函数在有且只有一个形参时,可省略()
{ }中只有一行代码时,可省略{ },同时必须省略return
ES6箭头函数中没有实参集合arguments,只有剩余参数. . .rest
箭头函数不能用new调用,没有constructor
一般函数的标志是function关键字,有具名函数,也有匿名函数
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4