菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
王文博--20221229-js高级-day01
[打印本页]
作者:
博5237
时间:
2023-1-5 18:34
标题:
王文博--20221229-js高级-day01
一、今日学习内容
执行环境与作用域
概念
1.标识符:变量名、函数名、形参、对象的键名,统称为标识符
2.作用域:标识符可以被访问的范围,就是作用域
3.执行环境:代码的运行环境,js有两种执行环境:全局执行环境与函数执行环境
4.js执行环境:都会被放到一个栈中
5.作用域链:提供了一套标识符访问的规则,保证标识符有序访问。标识符访问的时候,里面没有可以往外面找,层层往外找,直到window,找到就停止,找不到就报错
作用域的分类
1.全局变量
2.函数作用域(局部作用域)
3.块级作用域---ES6
函数进阶
箭头函数
语法:变量= (形参1, 形参2) => {
return 返回值;
}
可以省略的情况
1.参数有且只有一个:可以省略小括号
2.只有一句代码:可以省略花括号,并且必须同时省略return,自动return
剩余参数
剩余参数rest
语义化:...rest/...r
语法:变量 = (形参1, 形参2, ...rest) => {
console.log(rest);
}
函数的调用
函数的调用
1.直接点用 函数名()
2.作为对象的方法调用 对象名.方法名()
3.回调函数 定时器,数组的方法,其他的方法---自动执行
4.自己调用自己IIFE立即执行函数表达式
语法:(function(形参) {
js代码;
})();
立即执行函数
a挂载在window上,称为全局标识符
js中如果全局标识符过多,称为全局污染
比较容易和其他同时代码冲突
闭包
概念:
1.跨作用域访问变量,形成闭包,闭包是一种作用域的体现
2.常见的闭包的写法:父函数嵌套子函数,子函数访问父函数的变量,把子函数返回或挂载window上
闭包的作用
1.实现了早期的模块化开发,把所有的变量都隐藏在内部,对外暴露统一的访问接口
2.隐藏变量,避免全局污染
闭包的缺点
1.一旦形成闭包,$变量 就不会被内存释放,内存开销大,可能会造成内存泄漏,不建议过多使用
2.js有垃圾回收机制,不会被垃圾回收机制销毁
二、今日问题
无
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4