阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JavaScript 函数的初识

      函数的意义:高内聚,低耦合,复用与多态

      可以通过函数封装任意多条语句,而且可以在任何地方,任何时候进行调用,使用非常灵活;

      // 基本的语法
      function functionName(argument1,argument2){
          /*一堆的代码*/
      }
      //下面是函数的一个实例,
      function diff(a,b){
          console.log(a-b);
      }
      diff(10,5);//输出5
      diff(20,2);//输出18
      

      函数可以通过它的函数名来调用,后面加(),就可以执行了

      上面的diff分别输出的是5和18;a和b是函数的两个参数,最终的结果是打印在控制台的;

      return

      函数还有一个属性,就是可以 return;

      知识点1:函数的返回值只能通过return来返回,除了return以外,没有任何声明可以表示返回值

      ECMA中函数在定义的时候,不要求函数是否返回一个值,但是每个函数都有return的权利;

      任何函数在任何时候都可以通过return语句返回的值来实现把值返回给外部变量(return的位置是任意的);

      function diff(a,b){
          return a-b;
      }
      var diffNumber=diff(10,5);
      console.log(diffNumber);
      //diffNumber用来接收函数的返回值,如果return了一个值,但是外部没有变量去接收它,就失去了return的意义了;
      

      知识点2:return的特性:无论return在哪里,只要有执行了return同一条的代码后,函数立即停止,并且立即退出,因此位于return语句之后的任何代码都永远不会执行;

      function diff(a,b){
          return a-b;
          console.log("测试的代码");//这条语句,永远不会执行;
      }
      var diffNumber=diff(10,5);
      console.log(diffNumber);
      

      知识点3:一个函数可以多条return;

      写一个函数,计算两个数之间的相差多少;

      function diff(a,b){
          if(a>b){
              return a-b;
          }else{
              return b-a;
          }
      }
      var diffNumber1=diff(10,5);
      var diffNumber2=diff(5,10);
      console.log(diffNumber1);//5
      console.log(diffNumber2);//5
      

      这个函数diff用来计算两个数之间才差值;如果a比b小,则用b-a;否则a-b;函数中用if分为两个分支,分别具有自己的return语句来执行正确的计算逻辑;

      知识点4:return语句可以不带任何返回值,这种情况下,函数返回值是undefined;这种写法,一般用在需要提前停止函数又不需要返回值的情况;

      function testReturn (arg){
          console.log("arg的值是:"+arg);
          //如果传的值是空字符串,参数不对, 没必要处理了,直接return停止函数了,可以优化性能;;
          if(arg===""){return}
          console.log("一些处理参数的代码")
      }
      testReturn("");
      

      return的总结

      • 1、任何一个函数都有return关键字,用来导出函数内部的值;(闭包的思路);
      • 2、return是非必须的,可以写也可以不写;如果不写,或者return后面没有值,函数的返回结果都是undefined;
      • 3、无论return写在哪里,只要函数执行到了return这条代码了,执行完以后,立即停止执行并且跳出函数;会导致return下面的代码将不会执行;
      • 4、推荐的做法是要么让函数始终都返回一个值,要么永远不要返回值,;否则函数有时候有返回值,有时候没有返回值,调试起来不方便;
      目录
      目录