JavaScript——函数详解1

197 阅读1分钟

这是我参与更文挑战的第9天,活动详情查看: 更文挑战

我们这里主要分为两块:

1. 函数的定义与调用

2. 变量的作用域

函数的定义与调用

在JS中自定义函数需要使用function关键字,具体格式如下:

function 函数名(参数1,参数2......){
    函数体
}

函数定义时根据参数不同可以分为无参函数和有参函数。
下面咱们来看一下几种情况的具体例子
    <script>
       //无参函数,适用于不需要提供任何参数便能够完成指定功能。
       function Print(){
           console.log("我是无参函数");
       }
       //有参函数,需要传递参数,来完成相应功能。
       function add(a,b){
           return a+b;
       }
       //开发时不能确定参数个数,此时可以不设置形参,在函数体中通过使用arguments对象来获取调用的实参
       function fun(){
           console.log(arguments.length);
           console.log(arguments);
       }
       Print();
       add(1,3);
       var arr = [1,2,3];
       fun(arr);
    </script>
    

image.png

对于函数参数的设置还有含默认值的参数和剩余参数

     //调用者只传入一个参数时,say为默认值
       function greet(name,say = 'Hi,Y\'m'){
           console.log(say+name);
       }
       //不确定传入多少参数时,也可以使用"...变量名"来动态接收用户传递的不确定数量的实参
       function test(...num){
            console.log(num);
       }

变量的作用域

JS中变量分为三种,分别是:

全局变量:不在任何函数内声明的变量(显示声明),或在函数内省略var关键字
         声明的变量(隐式声明)

局部变量:在函数体内使用var关键字定义的变量,仅在函数体内有效

块级变量:使用let关键字声明的变量,仅在{}内有效,比如if,for,while中。

下面我们来看例子一起学习:

    <script>
       var a = 5;//全部变量
       function test(){
           var b = 0;//局部变量
       }
       for(let i=0;i<3;i++){//块级变量
           console.log(i);
       }
    </script>

以上就是JS函数的一些入门,下期我们来讲函数中的匿名函数和函数嵌套与作用链。