菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
陈紫怡-20221123-js高级-1
[打印本页]
作者:
Dasmondlicht
时间:
2022-11-23 23:08
标题:
陈紫怡-20221123-js高级-1
一、今日学习内容:
执行环境与作用域
执行环境和变量对象和作用域
概念:
标识符:变量名/函数名/形参/对象的键名 统称为标识符
作用域:标识符可以被访问的范围,就是作用域
执行环境:代码运行的环境,js有两种执行环境,全局执行环境,函数执行环境
js的执行环境,都被放入一个栈中
作用域链:提供了一套标识符访问的规则,保证标识符有序访问
总结
作用域链:提供了一套标识符访问的规则,保证标识符有序访问(规则:从里往外找,查找标识符,找到就使用,停止查找过程,直到window,找不到就报错)
作用域根据作用域链这套规则锁死了
作用域:标识符可以被访问的范围:(自己和自己的子(后代)作用域)
作用域分类
全局作用域
函数作用域(局部作用域)
块级作用域(ES6新增,ES5没有)
函数进阶
声明函数的方式
声明式
function fn( ){ }
表达式
let/var/const fn= function( ) { ]
箭头函数
箭头函数(形参)=> {js表达式}
函数的参数
形参:占位用的,叫什么都没有关系,只要是要语义化,形式参数
实参:调用函数的时候传入的实际的参数
arguments
是一个伪数组,在函数内部获取到所有实参的集合,可以使用for循环,可以通过下标取值,像数组,不是数组,不能使用数组方法
设置函数参数的默认值
ES5
function fn(形参){
let 变量 = 形参 || 默认值;
}
ES6
function fn(形参 = 默认值){}
剩余参数rest
ES6箭头函数中没有arguments
ES5中可以使用...r(剩余参数)
剩余参数是真数组,可以直接使用数组方法
函数返回值
函数返回什么,就可以得到什么,函数可以返回任何东西
函数没有写return,返回值为默认值,undefined
函数在哪里调用,返回值就返回到哪里去
函数调用
直接调用 函数名(实参)
对象的属性和方法调用 对象、方法()
回调----定时器,自动执行,自动调用
自己调用自己----自调用函数,立即执行函数表达式IIFE
闭包
跨作用域访问变量,形成闭包,闭包是一种作用域的体现
常见闭包写法:
复函数嵌套子函数,子函数可以访问父函数的变量,把子函数返回或挂载在window上
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4