博客列表 >js基础知识

js基础知识

手机用户1576673622
手机用户1576673622原创
2021年02月06日 18:19:52564浏览

内容:1. 实例演示变量与常量的区别;2. 函数与匿名函数的区别 3. 箭头函数的参数特征 4. 闭包原理与实现并演示它5. 四种高阶函数,全部实例演示,并理解回调和纯函数是什么,写出你的答案

1.实例演示变量与常量的区别

  • 变量:会变的量,可以多次更新(改变)。第一次赋值被称作初始化。
    使用,let
    1. <script>
    2. // 声明
    3. let useName;
    4. // 声明并初始化(第一次赋值)
    5. let itmName = '手机';
    6. console.log(useName);
    7. // 更新
    8. itmName = '电脑';
    9. console.log(itmName);
    10. </script>
  • 常量:一个不变的变量。不能更新,所以声明时必须初始化。
    使用,const
    1. const UNITPRICE = 3355;
  • 小知识点。 标识符:不要用中文。 命名方案:推荐使用驼峰式,常量则全部用大写

2.函数与匿名函数的区别

1.调用在前的时候,匿名函数无法被调用,函数可以。
2.函数可以被改变,匿名函数不可以

  1. <script>
  2. // 可以改变
  3. function getName(name) {
  4. return "名字"+name
  5. }
  6. console.log(getName("张三"));
  7. function getName(name) {
  8. return "姓名"+name
  9. }
  10. console.log(getName("张三"));
  11. // 匿名函数
  12. const sum = function (a) {
  13. return "无法改变"
  14. }
  15. </script>

3.箭头函数的参数特征

箭头函数是用来简化‘匿名函数’的声明。

  1. // 简化前
  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));

如果函数体只有一条语句,可不写return

  1. sum = (a,b) => a+b;
  2. console.log(sum(2,4));

如果只有一个参数,连小括号都可以不用了
let tips = str => console.log(str);
如果没有参数,小括号不能省略
tips = () => console.log("Success");
1.箭头函数没有原型属性prototype,不能当构造函数用
2.箭头函数中的this,始终与它的上下文绑定

4.闭包原理与实现并演示它

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

  1. function a() {
  2. let n = 100;
  3. // 这个返回的子函数就是闭包
  4. return function () {
  5. return n;
  6. };
  7. }

5.四种高阶函数,全部实例演示,并理解回调和纯函数是什么

  • 高阶函数: 使用函数为参数或者将函数做为返回值的函数

  • 1.回调函数
    1. document.addEventListener("click", function () {
    2. alert("Hello World~~");
    3. });
  • 2.偏函数: 简化了声明时的参数声明。其原理是先声明构成函数执行条件的的必要参数,再将函数作为返回值

    1. let sum = function (a, b) {
    2. return function (c, d) {
    3. return a + b + c + d;
    4. };
    5. };
    6. let f1 = sum(1, 2);
    7. console.log(f1(3, 4));
  • 3.科里化。简化了调用参数

    1. sum = function (a) {
    2. return function (b) {
    3. return function (c) {
    4. return function (d) {
    5. return a + b + c + d;
    6. };
    7. };
    8. };
    9. };
    10. // 简化了调用参数
    11. let res = sum(10)(20)(30)(40);
    12. console.log(res);
  • 4.纯函数。完全独立于调用上下文,返回值只能受到传入的参数影响

    1. // 不是纯函数,受Date影响
    2. function getDate() {
    3. return Date.now();
    4. }
    5. console.log(getDate());
    6. // 是纯函数
    7. function add(a, b) {
    8. console.log(a + b);
    9. }
    10. add(1, 2);
  • 回调函数和纯函数
    回调函数是被作为一个实参传入到另外一个外部函数中,并且外部函数被调用。这个函数就被称为回调函数。
    纯函数就顾名思义,函数中没有其他函数为函数体的函数,他的返回值只受传入的参数影响
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议