关于JavaScript--函数


函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

以下总结三种定义函数:常规函数 匿名函数 自执行函数

1. 常规函数

注:和变量一样,常规函数也会声明提前 。
1)无参无返回值类型

//为了验证常规函数的声明提前,将方法的执行放在前面
  test();
   function test(){
       console.log("test");
   }

在这里插入图片描述
2)带返回值类型

//用console.log调试函数返回的结果
 console.log(test_1());
   function test_1(){
       return("这是返回结果");
   }

在这里插入图片描述

注意:函数中没有输出的语句时,需要使用console.log(函数).

3)带参类型(形参 实参)

 test_3(1,2);
   function test_3(a,b){
       console.log(a);
   }

在这里插入图片描述
如果,不设置实参,调试结果就会显示如下:
在这里插入图片描述
4)有实参无形参类型

arguments 对象的作用:

  • 包含了函数调用的参数数组。
  • 引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。
  • arguments.length为函数实参个数
test_4(1,2,3);
   function test_4(){
       console.log(arguments[0]);
       console.log(arguments[1]);
       console.log(arguments[2]);
       console.log(arguments.length);
   }

在这里插入图片描述

2. 匿名函数

即不带名称的函数:把函数赋值给一个变量,执行语句。

  • 匿名函数和常规函数一样,具有是否带参,有实参无形参类型,是否带返回值函数类型。此处只列举不同之处。

1)无参无返回值类型

  var test_5=function(){
       console.log("我又出现啦");
   }
   test_5();
   //在函数中,()代表着执行的含义。
   //test_5是声明的变量,同时也是函数赋值得到的。
   //要执行函数的结果,就执行语句test_5()

在这里插入图片描述
2)带参类型

   var test_5=function(a,b){
            console.log(a,b);
        }
   test_5(1,2);
   //注意书写方式

在这里插入图片描述

前面我们提到,常规函数具有声明提前.(仅仅它有)

  • 匿名函数不能声明提前。因为它赋值给一个变量。而变量是可以声明提前的。所以相当于变量是一个未定义的值,和函数无联系。

3. 自执行函数

指自动执行的函数,本身也属于匿名函数,所以这类函数不具有声明提前。类似的,作为匿名函数,它具有是否带参,有实参无形参类型,是否带返回值函数类型。仅在此显示有区别的地方。

1)一般格式:(无参无返回值)

 (function(){
            console.log(1);
        })();

在这里插入图片描述
2)含参类型

 (function(a,b){
            console.log(a,b);
        })(1,2);
  //区分不同类型函数带参的区别

在这里插入图片描述

  • 自执行函数为什么是这样写的?
  • 我们知道在常规函数中,function是作为关键字,由function+函数名构成的完整函数才能执行。而自执行函数先以匿名函数的形式书写,将整体用()包起来成为一个表达式,不会被函数声明。
  • 在函数整体之后加()执行函数。
  • 自执行函数经常以代码块的方式使用。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值