- 1.执行环境与作用域
- 1.1执行环境和变量对象和作用域【理解】
- 1.标识符:变量名/函数名/形参/对象键名 统称为标识符
- 3.执行环境:代码运行的环境,JS有两种执行环境,全局执行和函数执行
- 5.作用域链:提供了一套标识符访问的规则,保证标识符有序访问
- 总结:作用域链:提供了一套标识符访问的规则,让标识符可以进行有序的访问,(从里往外找,查找标识符。找到就使用,停止查找的过程,直到window,找不到,会报错)
作用域根据作用域链这套规则锁死了
作用域:标识符可以被访问的范围:(自己和自己的子(后代)作用域)
- 函数进阶
- 箭头函数
- 1.{}中有一句代码,省略花括号并且同时必须省略return
- arguments
- 是一个伪数组,在函数内部获取所有实参的集合,可以使用for循环,可以通过小标取值,不可以使用数组方法
- 设置函数参数的默认值
ES5
function fn(形参){
let 变量 = 形参 || 默认值;
}
ES6
function fn(形参=默认值){
}
- 函数返回值
- 函数没有写return,函数的返回值默认为undefined
- 函数调用
- 自己调用自己----自调用函数,立即执行函数表达式IIFE
- 闭包
- 跨作用域访问变量,形成闭包,闭包是一种作用域的体现
- 常见的闭包写法:父函数嵌套子函数可以访问父函数的变量,把子函数返回或挂载window上
|