【JavaScript-函数】函数是什么?一文搞懂js当中的函数,

简介: 【JavaScript-函数】函数是什么?一文搞懂js当中的函数,

函数


1.函数的的概念

函数就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用。

在JS里面,可能会定义非常多的相同代码或者功能相似的代码这些代码可能需要大量重复使用。

虽然for循环语句也能实现一些简单的重复操作,但是比较具有局限性,此时我们就可以使用JS中的函数。

2.函数的使用

函数的使用格式一般都是这样子的

这是我们众所周知的,但是还有一种函数——匿名函数。

注:声明函数本身并不会执行代码,只有调用函数时才会执行函数体代码。

3.函数的封装

函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口

简单理解,封装类似于把各种食材做成一道菜🥗装到快递盒里面(类似快递打包)


1.利用函数计算自定义两个数之间的和

先声明一个函数,再利用for循环进行遍历俩数,然后再把最后的结果放到定义好的sum里面,最后打印出结果。


<script>
     // 计算自定义两个数之间的和
    function getSum(num1,num2){
        var sum = 0;
    for(var i = num1;i<=num2;i++){
        sum +=i;
    }
    console.log(sum);
    }
    getSum(20,22);//输出结果为63
         </script>


2.形参和实参

可以利用函数的参数实现函数重复不同的代码


遵循从实参到形参的执行顺序(可以简单理解为实参=买菜,形参=做菜,最后结果=做熟菜)

注:函数的参数可以有,也可以没有个数不限


3.函数形参与实参个数不匹配会出现怎样的情况呢?

1.如果实参的个数和形参的个数一致则正常输出结果


2.如果实参的个数多于形参的个数会取到形参的个数


3.如果实参的个数小于形参的个数

整理出来就是这样一个表格,方便大家观看。


4.函数-return返回值

1,声明函数 2,判断俩值大小 3,利用return得到返回值。


5.返回数组中的最大值

第一步依旧是声明数组,再定义一个max最大值,利用for循环让max和自定义的数组来进行比较,最后得到的结果用return返回出来就🆗啦!


6.return终止函数

<script>
    function getSum(num1,num2){
        return num1+num2;
        alert('你好!我不能被执行')
    }
    console.log(getSum(3,4));

   /*返回结果是7,并没有弹出‘你好!我不能被执行’这句话,

   所以return后面的语句将不在执行,所以return 返回值要放在最后面*/

 

</script>


break ,continue,return的区别

break : 结束当前的循环体(如for. while )

continue :跳出本次循环,继续执行下次循环(如for、while )

return : 不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码


7.arguments的使用

概述:在JavaScript中。arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象, arguments对象中存储了传递的所有实参。 当不确定有多少个参数传递的时候,可以用arguments来获取。arguments展示形式是一个伪数组,因此可以进行遍历。

伪数组具有以下特点:

●具有length属性

●按索引方式储存数据

●不具有数组的push , pop等方法

1.在不知道有多少参数的情况下直接用arguments来获取所有的参数


<script>
    function arg (){
        console.log(arguments);
        console.log(arguments.length);
        // 可以按照数组的方式遍历arguments
        for(var i = 0;i<arguments.length;i++){
            console.log(arguments[i]);
        }
    }
    arg(12,11,23,34,0)
    </script>


2.利用argument求任意个数数组的最大值


<script>
    function fn (){
        var max = arguments[0];
        for(var i = 1;i<arguments.length;i++){
            if(max<arguments[i]){
                max = arguments[i];
            }
        }
        return max;
    }
    console.log(fn(1,2,3,4));
     console.log(fn(14,32,36,40));
    console.log(fn(10,29,31,45));
    </script>


8.函数的进一步使用

1.利用函数翻转数组

与数组反转相似


<script>
    // 利用函数翻转任意数组reverse 翻转
    function reveres(arr) {
        var newArr = [];
        for(var i = arr.length-1;i>=0; i--){
            newArr[newArr.length] = arr[i];
        }
        return newArr;
    }
    console.log(reveres([1,2,3,4,5,5,6]));
    console.log(reveres([11,22,33,44,55,66]));
    </script>


数组反转:


2.利用函数进行排序

这里可以直接参考冒泡排序哦!

<script>
    function sort(arr){
        for(var i = 0;i< arr.length-1;i++){
            for(var j = 0;j<arr.length-i-1;j++){
                if(arr[j] > arr[j+1]){
                    var temp = arr[j]
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        return arr;
    }
    var arr1 = sort([1,4,5,2,2,1]);
    console.log(arr1);
    var arr2 = sort([91,44,52]);
    console.log(arr2);
    </script>


冒泡排序


3.函数判断闰年

如果是闰年。则返回true,不是的话返回false

<script>
        function runNian(year){
            var flag = false;
            if(year % 4 == 0 && year % 100 !=0 || year % 400 ==0){
            flag = true;
        }
        return flag;
        }
        var num = runNian(2322);
        console.log(num);
    </script>


4.怎样用函数调用另外一个函数?

注:这里就用到了上面的函数判断闰年。


<script>
        // 函数1
    function backDay(){
        var year1 = prompt('请输入当前年份:')
        if(runNian(year1)){
            alert('今年2月有29天')
        }else{
            alert('今年2月有28天')
        }
    }
    backDay();
        // 函数2(这里也就是已经写好的函数啦)
    function runNian(year){
            var flag = false;
            if(year % 4 == 0 && year % 100 !=0 || year % 400 ==0){
            flag = true;
        }
        return flag;
        }
        var num = runNian(2322);
        console.log(num);
    </script>


这里的 if(runNian(year1))意思是,如果返回值是true那么就弹出‘今年2月有29天’如果不是的话就弹出’今年2月有28天’,这也就是调用了一个已经封装好的函数啦!

目录
相关文章
|
1天前
|
JavaScript 前端开发 安全
JavaScript函数详解
JavaScript函数的详细解析,包括函数的定义和调用方式(如一般格式、匿名函数、构造函数、自调用函数、箭头函数和严格模式)、函数参数(arguments对象、可变参数、默认参数值)、闭包的概念和应用实例。
JavaScript函数详解
|
10天前
|
JSON JavaScript 前端开发
JavaScript第五天(函数,this,严格模式,高阶函数,闭包,递归,正则,ES6)高级
JavaScript第五天(函数,this,严格模式,高阶函数,闭包,递归,正则,ES6)高级
|
3天前
|
JSON JavaScript 数据格式
手写JS实现深拷贝函数
本文介绍了如何实现一个深拷贝函数`deepClone`,该函数可以处理对象和数组的深拷贝,确保拷贝后的对象与原始对象在内存中互不干扰。通过递归处理对象的键值对和数组的元素,实现了深度复制,同时保留了函数类型的值和基础类型的值。
11 3
|
1天前
|
缓存 JavaScript 前端开发
了解js基础知识中的作用域和闭包以及闭包的一些应用场景,浅析函数柯里化
该文章详细讲解了JavaScript中的作用域、闭包概念及其应用场景,并简要分析了函数柯里化的使用。
了解js基础知识中的作用域和闭包以及闭包的一些应用场景,浅析函数柯里化
|
3天前
|
前端开发 数据可视化 开发者
D3.js 内置的动画函数
D3.js 内置的动画函数
|
4天前
|
JavaScript 前端开发
JavaScript 函数参数
JavaScript 函数参数
21 3
|
4天前
|
存储 JavaScript 前端开发
JavaScript 函数定义
JavaScript 函数定义
17 3
|
3天前
|
JavaScript 前端开发
js防抖函数返回值问题解决方案
本文介绍了如何在JavaScript中创建一个带有返回值的防抖函数,通过结合Promise来实现。这种防抖函数可以在事件触发一定时间后再执行函数,并能处理异步操作的返回值。文章提供了防抖函数的实现代码和如何在实际项目中使用该防抖函数的示例。
14 1
|
4天前
|
JavaScript 前端开发
JS 偏函数、函数柯里化~
该文章介绍了JavaScript中偏函数和函数柯里化的概念、实现方法和使用场景,通过代码示例展示了如何创建预设参数的函数以及如何将多参数函数转换成单参数函数的链式调用。
11 0
JS 偏函数、函数柯里化~
|
21天前
|
存储 JavaScript 前端开发
JS中的数组有哪些常用操作函数和属性
【9月更文挑战第7天】JS中的数组有哪些常用操作函数和属性
10 1