当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JS基础学习05(函数)

JS基础学习05(函数)

2020年07月14日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网