【JavaScript学习笔记6】JS中函数的声明与调用,Arguments对象的使用

引言

函数在JS中的角色定位,就是完成特定代码的一个集合。
比如说要实现一个求余功能,在A代码块里面要使用,B代码块也要使用,那么为了给我们的代码增加健壮性,可以将求余功能封装成一个函数,当需要求余的时候,直接调用函数即可。即:将复杂的事情简单化

JS中函数常见的声明方式

  • 函数声明方式
function函数名(参数1,参数2...){函数体}

例:

    //定义函数
    function sum(num1,num2) {
        return num1+num2;
    }
    //调用函数
    console.log(sum(1, 2));

在这里插入图片描述

  • 函数表达式声明方式
var 变量名 = function (参数1,参数2...){函数体};

例:

    //声明函数
    var add =function (num1,num2) {
        return num1+num2;
    };
    //调用函数
    console.log(add(2, 2));

在这里插入图片描述

  • 使用Function构造函数
var 变量名 = new Function(‘参数1’,‘参数2‘,...,’函数体');

例:

    //声明函数
    var add =new Function('num1','num2','return num1+num2;');
    //调用函数
    console.log(add(3, 2));

在这里插入图片描述

三种声明方法的区别:

  • JS解析器会优先将当前作用域的函数声明提前到整个作用域的最前面。即:第一种函数直接声明方法会直接提到最前

将整个数组传入函数

上述的例子中,实参都是一个常量数字,为了更加深入函数的传参,这里以一个数组作为实参传入函数进行计算数组中的和为例子巩固。

    //声明函数
    function sum(arr){
        var value =0;
        for(var i=0;i<arr.length;i++){
            value+=arr[i];
        }
        return value;
    }
    //调用函数
    var arr=[1,2,3];
    console.log(sum(arr));

在这里插入图片描述

Arguments对象的使用

Arguments对象是函数中的一个对象,包含了传入函数中所有的参数,arguments并不是一个数组,只是与数组相似,除了拥有Length属性之外,数组的所有属性和方法都不具备。
因此,上述的数组求和例子可以以Arguments对象,增强代码的健壮性

    //声明函数
    function sum(){
        var value = 0;
        for(var i=0;i<arguments.length;i++){
            value+=arguments[i];
        }
        return value;
    }
    //调用函数
    console.log(sum(1,2,3));

在这里插入图片描述

发布了91 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/RayCongLiang/article/details/104206702