批改状态:合格
老师批语:
内容:1. 实例演示变量与常量的区别;2. 函数与匿名函数的区别 3. 箭头函数的参数特征 4. 闭包原理与实现并演示它5. 四种高阶函数,全部实例演示,并理解回调和纯函数是什么,写出你的答案
let。
<script>// 声明let useName;// 声明并初始化(第一次赋值)let itmName = '手机';console.log(useName);// 更新itmName = '电脑';console.log(itmName);</script>
const。
const UNITPRICE = 3355;
1.调用在前的时候,匿名函数无法被调用,函数可以。
2.函数可以被改变,匿名函数不可以
<script>// 可以改变function getName(name) {return "名字"+name}console.log(getName("张三"));function getName(name) {return "姓名"+name}console.log(getName("张三"));// 匿名函数const sum = function (a) {return "无法改变"}</script>
箭头函数是用来简化‘匿名函数’的声明。
// 简化前let sum = function(a,b) {return a + b;};// 简化后sum = (a,b) => {return a+b};console.log(sum(1,2));
如果函数体只有一条语句,可不写return
sum = (a,b) => a+b;console.log(sum(2,4));
如果只有一个参数,连小括号都可以不用了let tips = str => console.log(str);
如果没有参数,小括号不能省略tips = () => console.log("Success");
1.箭头函数没有原型属性prototype,不能当构造函数用
2.箭头函数中的this,始终与它的上下文绑定
闭包: 能够访问自由变量的函数,所以理论上讲,任何函数都是闭包
自由变量: 即不是函数参数变量也不是私有变量,存在于函数调用上下文中
function a() {let n = 100;// 这个返回的子函数就是闭包return function () {return n;};}
document.addEventListener("click", function () {alert("Hello World~~");});
2.偏函数: 简化了声明时的参数声明。其原理是先声明构成函数执行条件的的必要参数,再将函数作为返回值
let sum = function (a, b) {return function (c, d) {return a + b + c + d;};};let f1 = sum(1, 2);console.log(f1(3, 4));
3.科里化。简化了调用参数
sum = function (a) {return function (b) {return function (c) {return function (d) {return a + b + c + d;};};};};// 简化了调用参数let res = sum(10)(20)(30)(40);console.log(res);
4.纯函数。完全独立于调用上下文,返回值只能受到传入的参数影响
// 不是纯函数,受Date影响function getDate() {return Date.now();}console.log(getDate());// 是纯函数function add(a, b) {console.log(a + b);}add(1, 2);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号