JavaScript函数(笔记)

函数

在JS里,可能会定义许多相同的代码,这些代码可能要多次重复使用,此时就需要封装成函数
函数 : 就是封装了一段可被重复调用执行的代码块,通过此代码块就实现代码的重复使用

<script>
    function getSum(num1, num2) {
        var sum = 0;
        for (var i = num1; i <= num2; i++) {
            sum += i;
        }
        console.log(sum);
    }
    getSum(1, 100);
</script>

函数使用时分为两步:声明函数和调用函数

<script>
        //声明函数
    function 函数名() {
        函数体代码;
    }
</script>

function是声明函数关键字,必须小写
函数名通常命名为动词

// 调用函数
函数名();

函数的封装是把一个或者多个功能通过函数的方式封装起来,对外值提供一个简单的函数接口
就相当于把配件装到机箱里

参数

<script>
    //形参是接受实参的,并不知道是什么
    //在函数的内部某项数值不能固定,可以通过参数传递不同的值进去
    function 函数名(形参1, 形参2) {
        函数体代码;
    }
    // 实参是传递进参数的
    函数名(实参1, 实参2);
</script>

参数个数的影响

<script>
    //求任意两个数之间的和
    function getSums(start, end) {
        var sum = 0;
        for (var i = start; i <= end; i++) {
            sum += i;
        }
        console.log(sum);

    }
    // 如果形参的个数等于实参的个数,正常输出
    getSums(1, 100);
    // 如果形参的个数大于实参的个数,会取到形参的个数
    getSums(1, 10, 100);
    // 如果形参的个数小于实参的个数,另一个变量可以看做没有接受值
    getSums(1);
    // 多个参数之间用逗号隔开
    // 形参可以看做是不用声明的变量
</script>

return返回值

<script>
    function 函数名() {
        return 返回的结果;
    }
    //函数只是实现功能,最终的结果需要返回给函数的调用者
    // 函数名() 通过return实现的,只要函数遇到return,
    // 就把后面的结果返回给函数的调用者
    // 函数名()=return后面的结果
    函数名();
</script>

验证

<script>
    function getResult() {
        return 111;
    }
    console.log(getResult());
</script>
<script>
    function getArrMax(arr) {
        var max = arr[0];
        for (var i = 1; i <= arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        return max;
    }
    var arr1 = [1, 2, 3, 66, 77];
    //传递一个数组
    console.log(getArrMax(arr1));
</script>
<script>
    function ooo() {
        return 1111;
        //return后的代码都不执行,它是终止函数
        console.log('不执行我');
    }
    console.log(ooo());
</script>
<script>
    function fn() {
        //只能返回一个值
        // 返回最后一个值
        return 1, 2;
    }
    console.log(fn());
</script>
<script>
    function re() {}
    // 如果没返回值,输出的是undefined
    console.log(re());
</script>

arguments
如果不确定有多少个参数,可以用arguments来获取参数

<script>
    function fn() {
        // arguments是一个伪数组
        console.log(arguments); //里面存储了所有传递的实参
        // arguments具有length属性
        console.log(arguments.length);
        console.log(arguments[2]);
        // 可以循环遍历
        for (var i = 0; i < arguments.length; i++) {
            console.log(arguments[i]);
        }
    }
    fn(1, 2, 3);
    fn(2, 3, 5, 7);
</script>
<script>
	//利用函数求最大值
    function getMax() {
        var max = arguments[0];
        for (var i = 1; i < arguments.length; i++) {
            if (arguments[i] > max) {
                max = arguments[i];
            }
        }
        return max;
    }
    console.log(getMax(1, 3, 4, 5));
    console.log(getMax(1, 3, 2, 4, 7));
    console.log(getMax(1, 3, 2, 6, 4, 5));
</script>
<script>
    // 函数里可以相互调用
    function fn1() {
        console.log(11111);
        fn2();
    }

    function fn2() {
        console.log('fn2');

    }
    fn1();
</script>

匿名函数

<script>
    var fun1 = function(canshu) {
        console.log('这里是匿名函数');
        console.log(canshu);
    }
    fun1('这里是传进来的参数');
    // fun1是变量名,不是函数名
    // 也可以进行传参
    // 函数表达式声明方式跟声明变量差不多,只不过
    //变量里存的是值,而函数表达式里存的是函数
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值