一、今日学习内容 1.学习目标 1.执行环境与作用域--能够分析清楚即可,掌握作用域的分类--10% 2.函数进阶的精通--非常熟练的掌握--40% 3.闭包的精通--能够说的非常清楚什么是闭包,有什么作用,有什么特点--50% 2.执行环境和变量对象和作用域 1.概念 1.标识符:变量名、函数名、形参、对象的键名,统称为标识符; 2.作用域:标识符可以被访问的范围,就是作用域; 3.执行环境:代码的运行环境,js有两种执行环境:全局执行环境与函数执行环境; 4.js执行环境都会被放入一个栈中; 5.作用域链:提供了一套标识符访问的规则,保证标识符有序访问。访问标识符的时候,里面没有可以往外面找,层层往外找,直到window,找到了就停止,找不到就报错; 2.作用域的分类 全局作用域 函数作用域(局部作用域) 块级作用域(ES6新增的) 3.箭头函数 语法 let或者const 函数名=(形参)=>{js代码} 可以省略的情况: 1.参数有且只有一个:可以省略小括号 2.只有一句代码:可以省略花括号,并且必须同时省略return,自动return 4.闭包 1.跨作用域访问变量,形成闭包,闭包是一种作用域的体现 常见的闭包写法:父函数嵌套子函数,子函数访问父函数的变量,把子函数返回或挂载在window上 2.闭包的作用: 实现早期的模块化开发,把所有变量隐藏在内部,对外暴露了统一的访问接口 隐藏变量,避免全局污染 3.闭包的缺点 一旦形成闭包,$变量就不会被内存释放,内存开销大,可能会形成内存泄漏,不建议过多使用 js有垃圾回收机制,形成闭包之后$变量不会被垃圾回收机制销毁 |
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) | Powered by Discuz! X3.4 |