Blogger Information
Blog 46
fans 0
comment 0
visits 39167
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
演示(变量与常量)的区别, 函数(匿名函数)的区别、箭头函数参数特征、 闭包原理与实现、 四种高阶函数的演示
lus菜
Original
541 people have browsed it

变量与常量:

  1. <script>
  2. //变量
  3. let userName; //声明
  4. console.log(userName);
  5. let itemName = "手机"; //声明时并初始化(第一次赋值)
  6. console.log(itemName);
  7. userName = "电脑"; // 更新
  8. console.log(userName);
  9. //常量
  10. const unitprice = 3699;// 声明时必须初始化
  11. unitprice = 2888;//会发生错误
  12. </script>
效果预览:

函数与匿名函数的区别:

  1. 函数都是单值返回,如果想返回多个值,将结果封装到数组或对象中 迭代器除外
  1. <script>
  2. //声明,会自动提升到顶部,动词get + 名词Name 函数命名规则
  3. function getName(name) {
  4. return "Welcome to " + name;
  5. }
  6. console.log(getName("天猫商城")); //调用
  7. function getName(name) { //重写
  8. return "欢迎光临 " + name;
  9. }
  10. //函数声明提升
  11. //console.log(sum(1,2)); 效果发生报错
  12. // 使用了匿名函数/函数表达式
  13. // let sum = function (a,b){
  14. // return a + b;
  15. // };
  16. // console.log(sum(1,2));
  17. const sum = function (a,b) { //函数可以被重写
  18. return a + b;
  19. };
  20. console.log(sum(1,2)); //匿名函数不可用重写会发生报错
  21. sum = function (a,b) {
  22. return a + b;
  23. };
  24. </script>

效果预览:

箭头函数特征:

  1. 箭头函数没有原型属性prototype,不能当构造函数用
  2. 箭头函数中的this,始终与它的上下文绑定

样式代码:

  1. <script>
  2. let sum = function (a, b) {
  3. return a + b;
  4. };
  5. //箭头函数用来简化 "匿名函数" 的声明
  6. sum = (a, b) => {
  7. return a + b;
  8. };
  9. console.log(sum(1, 2));
  10. //如果函数体只有一条语句,可不写return
  11. sum = (a, b) => a + b;
  12. console.log(sum(10, 20));
  13. //如果只有一个参数,连小括号都可以不用了
  14. let tips = str => console.log(str);
  15. tips("欢迎大家来到这里")
  16. //如果没有参数,小括号不能省略
  17. tips=() => console.log("Success");
  18. console.log(tips());
  19. </script>

效果预览:

闭包原理:

  1. 自由变量: 即不是函数参数变量也不是私有变量,存在于函数调用上下文中
  2. 闭包: 能够访问自由变量的函数,所以理论上讲,任何函数都是闭包

样式代码:

  1. <script>
  2. let num = 100;
  3. function add(a, b) { // a,b: 参数变量
  4. let t = 0; // t: 私有变量
  5. return t + a + b + num; // num: 自由变量
  6. }
  7. function a() {
  8. let n = 100;
  9. return function () { //这个返回的子函数就是闭包
  10. return n;
  11. };
  12. }
  13. console.log(a()());
  14. function f1() {
  15. let a = 1; //a 相对于f1是私有变量,但是相对于返回的匿名函数就是一个自由变量
  16. return function () {
  17. return a++;
  18. };
  19. }
  20. let f2 = f1();
  21. console.log(f2());
  22. console.log(f2());
  23. console.log(f2());
  24. </script>

效果预览:

四种高阶函数:

  1. 高阶函数: 使用函数为参数或者将函数作为返回值的函数。
  2. 回调函数:
  3. 偏函数: 简化了声明时的参数声明
  4. 柯理化: 简化了参数的调用
  5. 纯函数: 完全独立于调用上下文,返回值只能受到传入的参数影响

样式代码:

  1. <script>
  2. document.addEventListener("click", function () { //回调函数
  3. alert("Hello World~~");
  4. });
  5. let sum = function (a, b) { //偏函数: 简化了声明时的参数声明
  6. return function (c, d) {
  7. return a + b + c + d;
  8. };
  9. };
  10. let f1 = sum(1, 2);
  11. console.log(f1(3, 4));
  12. sum = function (a) { //柯理化
  13. return function (b) {
  14. return function (c) {
  15. return function (d) {
  16. return a + b + c + d;
  17. };
  18. };
  19. };
  20. };
  21. let res = sum(10)(20)(30)(40); //简化了参数的调用
  22. console.log(res);
  23. function getDate() { //不是纯函数
  24. return Date.now();
  25. }
  26. console.log(getDate());
  27. function add(a, b) { // 是纯函数
  28. console.log(a + b);
  29. }
  30. add(1, 2);
  31. </script>

效果预览:

回调和纯函数是什么:

  1. 纯函数: 纯量就是标量不是向量。纯量函数估计就是函数的值域不是向量,而是标量把完全独立于调用上下文,返回值只能受到传入的参数影响
  2. 回调: 回调函数写完之后不用,给别人用的函数,事件方法,把一个函数写到一个函数的位置,那么这是一个方法函数,圆括号里面是参数,参数里面再写一个函数这就叫回调函数
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post