js语法之函数(匿名函数和普通函数+开关思想)

1.函数语法:(返回值return)

一定要输写规范: 函数声明、函数调用、函数传参、函数返回值

 函数语法  : 函数是一种用于存储代码块的复杂数据类型
            * 作用:解决代码复用问题
        
        1.声明函数 : 声明函数只是把代码存起来,不会执行函数体  
            function 函数名(){
                函数体代码: 需要存储的一段代码
            }

        2.调用函数 : 执行函数体代码
            函数名()

        3.函数参数 : 调用者 传递数据 函数
            3.1 传:调用者
                函数名(实际参数)
            3.2 收:函数
                function 函数名(形式参数){   //函数体代码 }
            3.3 函数传参本质: 实参给形参赋值的过程
                (1)函数传参是按照传入顺序一一赋值
                (2)函数每一次调用传参过程都是独立的,互不影响
                (3)函数 形参数量 和 实参数量 可以不一致的

2.逻辑短路运算

       1.函数默认参数,我们自己在开发中使用不多。(了解后面很多js框架函数默认参数底层原理)
        2.函数默认参数 使用 逻辑运算符短路运算(逻辑中断)
            2.1 短路运算: 左边式子就可以决定结果,右边式子不执行
                && : 一假则假              let res = undefined && 20    //  undefined
                || : 一真则真                 let num = undefined || 20     //  20

                 ! : 取反(没有短路运算,因为只有一个式子)
            2.2 短路规则:
                && : 找假。  左边式子值可以转成false,则无条件返回左边式子的值,右边不执行。 反之无条件返回右边式子的值。
                || : 找真。 左边式子值可以转成true,则无条件返回左边式子的值,右边不执行。 反之无条件返回右边式子的值。

接上 :  函数默认参数

需求:给函数添加默认参数0
      (1)如果用户有传递实参,就使用用户传递的实参
       (2)如果没有传,就使用默认参数
      function getSum(num1,num2){
          num1 = num1 || 0
          num2 = num2 || 0
          console.log(num1+num2)
      }

      getSum(66)

输出结果为(66,0)

4.开关思想

        1.本案例所采用的思想称之为:开关思想
        2.开关思想用于解决此类问题 : 判断数组中是否所有元素满足条件
        3.开关思想主要分为三个流程
               (1)声明一个开关变量(一般默认为true)
               (2)遍历数组,判断每一个元素是否满足条件,遇到不满足修改开关变量为false
                  * 遇到满足的不用修改,因为默认就是true
               (3)返回开关变量值

需求:找出数组中 元素为10的下标,有则返回该下标,没有则返回-1
      function getIndex (arr) {
        (1)声明变量存储下标
        let index = -1
        (2)遍历数组查找
        for (let i = 0; i < arr.length; i++) {
          if (arr[i] === 10) {
            index = i
            break
          }
        }
        (3)返回下标
        return index
      }

      let res1 = getIndex([20, 50, 60, 10, 80])
      console.log(res1)

      let res2 = getIndex([1, 2, 3, 4, 5])
      console.log(res2)

匿名函数

1.   执行匿名函数 : 自执行语法
        (匿名函数)()     开辟独立作用域,避免全局变量污染

 2.小细节: 匿名函数自执行的时候,上一个语句分号不能省略

;(function(){

console.log('1111')

})();

作用域

如果一个变量在声明的时候没有使用关键字。 例如: num = 10,此时这个变量无论写在哪里都是全局变量。 (切忌:这是非常不规范的,千万不要这么写,否则以后代码可能会出现bug)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一个好好的程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值