批改状态:合格
老师批语:
实例演示变量与常量的区别;
函数与匿名函数的区别
箭头函数的参数特征
闭包原理与实现并演示它
四种高阶函数,全部实例演示,并理解回调和纯函数是什么,写出你的答案
常量与变量的区别:
1.常量与变量的存储方式是一样的,只不过常量必须要有初始值,而且值不允许被修改,而变量可以无初始值,且可以多次赋值。
<script>// 1. 变量// 声明let userName;console.log(userName);// 未初始化变量,输出 undefined// 声明时并初始化(第一次赋值)let itemName = "送你一朵小红花";console.log(itemName);// 更新userName = "拆弹专家2";console.log(userName);// 2. 常量// 声明时必须初始化//未初始化常量,输出 undefined//const unitPrice = 666;//unitPrice = 883;const APP_NAME = "阿里爸爸";console.log(APP_NAME);</script>
图示:
函数有函数名,匿名函数没有,需要赋值给一个变量调用
匿名函数可以简化为箭头函数,而普通函数不行
<script>// 函数function getName(name) {return "三国演义的作者是:" + name;}// 输出函数console.log(getName("罗贯中"));</script>
图示:
<script>const sum = function(a, b) {return a + b;}// 匿名函数 9 + 6 输出 15console.log(sum(9, 6));</script>
图示:
箭头函数是用来简化匿名函数的语法糖
=> 胖箭头
-> 小箭头
没有参数,小括号必须要有
如果函数体只有一条语句,可以不写return和”{}”
let model = ‘MacBook Pro’;
如果函数体只有一条语句,可以不写return和”{}
let demo7 = (id, name, model) => [id, name, model];
只有一个参数, 参数的小圆括号也可以不写
当参数只有一个时,圆括号可以省略,如果没有参数,反而不能省
当有多个参数时, 圆括号必须要写
当有多条语句时,函数体的大括号不能省
如果函数体只有一条语句时,可以省略大括号
<script>//多参数,多条语句,() 不能省,{} 不能省let id = '589';let name ='黄蓉';let age = 15;let mail='hr@cnsina.gov.cn'let demo7 = (id, name, age,mail) =>{(id, name, age,mail)};console.log(id, name, age,mail);</script>
图示:
闭包:能访问自由变量的函数
自由变量:存在函数调用的上下文中,不是函数自身的参数变量,也不是函数内部的私有变量
<script>function a() {let n = 100;// 这个返回的子函数就是闭包return function () {return n;};}console.log(a()());</script>
图示:
五、四种高阶函数:回调函数|偏函数|柯里化|纯函数
回调函数:使用函数作为参数传递
// 回调函数let name = e => e();let age = () => 'age';// 把函数age作为参数传递给name,age是回调函数console.log(name(age));</script>
图示:
偏函数:简化声明
偏函数: 简化了声明时的参数声明let sum = function (a, b) {return function (c, d) {return a + b + c + d;};};let f1 = sum(1, 2);console.log(f1(3, 4));
图示:
柯里化:简化调用参数
<script>let sum = function (a) {return function (b) {return function (c) {return function (d) {return a + b + c + d;};};};};let sum1 = sum(1)(2)(3)(4);console.log(sum1)</script>
图示:
纯函数:纯函数独立于上下文,返回值只能接受传入的参数影响
<script>function add(c, d) {console.log(c + d);}add(122, 252)</script>
图示:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号