菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
2022-11-23王嘉乐
[打印本页]
作者:
yousay!
时间:
2022-11-24 00:34
标题:
2022-11-23王嘉乐
一、今日学习内容
重点:函数的进阶 闭包
执行环境与作用域
1.标识符 :
变量名/函数名/形参/对象的键名 统称为标识符
2.
作用域:标识符可以被访问的范围,就是作用域
3.执行环境:代码运行的环境,js有两种执行环境,全局执行环境,函数执行环境
4.js执行环境,都被放入一个栈中
5.作用域链:提供了一套标识符访问的规则,保证标识符有序访问
作用域:标识符可以被访问的范围:(自己和自己的子(后代)作用域)
全局作用域
函数作用域(局部作用域)
块级作用域(ES6新增的,ES5没有)
函数进阶:
第一点:函数声明有三种方式
01: // ES5
f1();
// 1. 声明式
function f1() {
console.log('f1');
}
// 2.表达式
// f2();
let f2 = function () {
console.log('f2');
}
// f2();
// es6:
// 箭头函数 (形参)=>{js表达式}
// f3();
// var f3 = () => {
let f3 = () => {
console.log('f3');
}
声明式的fn(); 放在函数体前后都可以打印出结果
表达式和箭头函数的fn();放在函数体前打印不出来结果 控制台显示before事件
第二点:箭头函数可用于 map 函数 倒计时函数 普通的一个参数或者两个参数的函数
第三点:{}中只有一句代码:省略花括号并且同时必须省略return
2.形参有且只有一个,可以省略()
arguments
是一个伪数组,在函数内部获取到所有实参的集合,可以使用for循环,可以通过小标取值,
像数组,不是数组,不能使用数组的方法
2.6 设置函数参数的默认值
// ES5:
function fn(形参){
let 变量=形参 || 默认值;
}
// ES6:
function fn(形参=默认值){
}
es6的箭头函数中没有arguments
剩余参数rest是真数组,可以直接使用数组的方法
函数的返回值
// 函数返回什么,就得到什么,函数可以返回任何东西// 函数没有写return,函数的返回值为默认值undefined// 函数在那里调用,返回值就返回到哪里去
函数的调用
直接调用 函数名(实参)对象的属性和方法调用 对象.方法()回调--定时器,自动执行,自动调用自己调用自己-----自调用函数,立即执行函数表达式IIFE
闭包:
跨作用域访问变量,形成闭包,闭包是一种作用域的体现
常见的闭包写法是:父函数嵌套子函数,子函数可以访问父函数的变量
,把子函数返回或者挂载window上
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4