欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS基础学习05(函数)

程序员文章站 2022-07-06 16:39:03
1、函数就是封装了一段可以被重复执行调用的代码块,目的:让大量代码重复使用2、函数使用(1)声明函数function 函数名(){函数体}function声明函数的关键字,全部小写;函数就是做某件事情,函数名一般是动词;函数不调用自己不执行;(2)调用函数语法: 函数名 ();调用函数的时候千万不要忘记加小括号3、函数的参数function 函数名 (形参1,形参2…) {代码块}调用:函数名 (实参1,实参2,…);函数的参数可以有,也可以没有,个数不限多个参数之...

1、函数就是封装了一段可以被重复执行调用的代码块,目的:让大量代码重复使用

2、函数使用
(1)声明函数
function 函数名(){
函数体
}

function声明函数的关键字,全部小写;
函数就是做某件事情,函数名一般是动词;
函数不调用自己不执行;
(2)调用函数
语法: 函数名 ();
调用函数的时候千万不要忘记加小括号

3、函数的参数
function 函数名 (形参1,形参2…) {
代码块
}

调用:函数名 (实参1,实参2,…);

函数的参数可以有,也可以没有,个数不限
多个参数之间用逗号隔开;
形参可以不用声明,

4、函数形参和实参个数不匹配的问题
(1)如果实参的个数多于形参的个数,那么形参有多少个就只取多少个
(2)如果实参的个数小于形参的个数,那么返回的结果就是NaN
因为形参是 一个不用声明的变量,如果没有接收值,那么结果就是undefined

建议:尽量让实参的个数和形参的个数相匹配

在JS中,形参的默认值是undefined

5、函数的返回值
5.1、将函数将返回值返回给调用者,通过return语句实现
function 函数名(){
函数体
return 需要返回的结果
}
函数名();
注意:
(1)我们函数只是实现某种功能,最终的结果需要返回给函数的调用者,通过return实现

(2) 在实际开发里面,我们经常用一个变量来接受函数的返回结果
var result = getArrMax([1, 4, 7, 3, 86, 23, 90]); // 实参也要送一个数组过去
console.log(result);

(3)return是一个终止函数的语句,在函数里面只要运行到了return语句,return后面的语句就不再执行了

(4)return只能返回一个值,不管return里面有多少个值,只返回最后一个值,但是在return里面用数组就可以返回多个值了

(5)函数如果没有return,则返回undefined

6、arguments的使用
当我们不确定有多少个参数传递的时候,可以用arguments来获取。JS中,所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。

arguments是按照数组的方式进行存储的,只不过它是伪数组
伪数组,不是真正意义上的数组
(1)具有数组的length属性
(2)按照索引的方式进行存储
(3)没有真正数组的一些方法pop(),push()等

注意:只有函数才有arguments对象

7、函数调用另外一个函数

8、第二种函数声明方式
var 变量名 = function (){ };
调用: 变量名();
eg:
var fun= function( ) {
函数体;
}
fun ( );
fun是变量名,不是函数名
函数表达式声明方式跟声明变量差不多,只不过变量里面存的是值,而函数表达式里面存的是函数

练习题
1、书写一个函数,判断指定数据是否存在于指定数组中

function exist(num, arr) {
         for (var i = 0; i < arr.length; i++) {
             if (num == arr[i]) {
                 return true;
             }
         }
         return false;
     }
     var result = exist(12, [34, 56, 78, 12, 35, 39]);
     console.log(result);

2、请使用arguments完成函数getResult,实现得到输入的所有的数值中的最小值、最大值、平均数、总和等功能

function getResult() {
                var max = arguments[0];
                var min = arguments[0];
                var adv = 0;
                var sum = 0;
                for (var i = 1; i <= arguments.length; i++) {
                    if (max < arguments[i]) {
                        max = arguments[i];
                    }
                    if (min > arguments[i]) {
                        min = arguments[i];
                    }
                    sum += arguments[i - 1];
                }
                adv = sum / arguments.length
                return [max, min, sum, adv];
            }
            var result = getResult(12, 23, 45, 67);
            console.log(result); 

本文地址:https://blog.csdn.net/weixin_45607495/article/details/107304716