函数的基本知识点

  • 函数

    • 参数:

      • 无参数:

        function 函数名(){}

      • 单参数:

        function 函数名(参数){}
        • 函数声明时的参数, 叫做形式参数 - 形参

        • 函数调用时传入的参数 函数名(值), 此处的值 称为 实际参数 - 实参

      • 多参数: function 函数名(参数1, 参数2, 参数3...){}

        • 传参: 函数名(11,22,33) 参数按照顺序一一对应 传入形参

      • 不固定数量参数: arguments

        每个函数内部都具备一个 arguments 关键词, 其中保存了所有传入的参数,

        是一个 类数组 类型, 类似数组 但是不具备数组的相关方法

        Math.max(1,3)
        Math.max(1,4,3,5,5,5)

    • 声明方式:

      1. 字面量

        function 函数名(参数名, 参数名...){ 方法体 }

      2. 构造方式

        var 函数名 = new Function('参数名', '参数名',..., '方法体')

    • 声明提升

      原理: JS编译器有 预编译功能, 在执行JS代码之前, 会先编译一次-- 把var声明的 和 函数都找出来

      • 变量提升: var声明的变量会提升到JS代码的顶部

      • 函数声明提升: 函数的声明会提升到JS代码的顶部

    • 函数重载

      概念来自于C语言: 一个函数可以传递不同数量 不同类型的参数, 函数体内利用 if 判断, 根据数量/类型 的不同, 执行不同的逻辑操作.

      优点: 减少同类型函数的声明, 减少内存消耗

      JS中通过 if 判断 arguments 变量中的数据 来决定执行的代码逻辑!

    • 闭包

      本质上: 每个函数都一个闭包--封闭的包围

      作用: 利用函数制作一个局部作用域, 来保存一些变量.

      这些变量独立于 全局作用域之外, 可以防止全局变量污染

      全局变量污染: var声明的变量都会存储在 window 对象中, 重名的变量会覆盖!

      // 匿名函数自调用不是必备写法, 只是更加简单而已
      // function 名称(){}    
      // 名称();
      ​
      // 匿名函数是为了制造一个 封闭的独立的作用域--闭包
      (function (){
          // 这里的 name 就出现在闭包的中
          var name = '111'
          
          // 必须把使用闭包中变量的函数保存到window中
          // 这样才能在后期 调用 ashow 函数
          window.ashow = function (){
              console.log(name)
          }
      })()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abssss1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值