函数的概念
在JS里面,可能会定义非常多的相同代码或者功能相似的代码,这些代码可能需要大量重复使用。
虽然for循环语句也能实现一些简单的重复操作,但是比较有局限性,此时我们就可以使用JS中的函数。
函数:就是封装了一段可以被重复执行调用的代码块。通过此代码可以实现大量代码的重复使用。
函数的使用
-
声明函数
function 函数名() {
函数体
}
(1). function声明函数的关键字 全部小写;
(2). 函数是做某件事情,函数名一般是动词 sayHi;
(3). 函数不调用自己不执行。
-
调用函数
函数名()
-
封装函数
函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口。
简单理解:封装类似于将电脑配件整合组装到机箱中(类似快递打包)
函数的参数
-
形参和实参
在声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数称为形参,而在调用函数时,同样也需要传递相应的参数,这些参数被称为实参。
参数 | 说明 |
形参 | 形式上的参数 函数定义的时候 传递的参数 当前并不知道是什么 |
实参 | 实际上的参数 函数调用的时候传递的参数 实参是传递给形参的 |
参数的作用:在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。
-
函数形参和实参个数不匹配问题
参数个数 | 说明 |
实参个数等于形参个数 | 输出正确结果 |
实参个数多于形参个数 | 只取到形参的个数 |
实参个数小于形参个数 | 多的形参定义为undefined 结果为NaN |
注意:在JavaScript中,形参的默认值是undefined
-
小结:
- 函数可以带参数也可以不带参数;
- 声明函数的时候,函数括号里面的是形参,形参的默认值为undefined;
- 调用函数的时候,函数名括号里面的是实参;
- 多个参数中间用逗号分隔;
- 形参的个数可以和实参的个数不匹配,但是结果不可预计,我们尽量要匹配。
函数的返回值
-
return语句
function 函数名() {
return 需要返回的结果;
}
函数名();
-
return终止函数
return语句之后的代码不被执行
function getSum(num1,num2) {
return num1 + num2; //return 后面的代码不会被执行
alert('我不会被执行哦!')
}
console.log(getSum(1,2));
-
return的返回值
return只能返回一个值。如果用逗号隔开多个值,以最后一个值为准。
function fn(num1, num2) {
return num1, num2; //返回的结果是最后一个值
}
console.log(fn(1, 2));
-
我们求任意两个数的 加减乘除结果
function getResult(num1, num2) {
return [num1 + num2, num1 - num2, num1 * num2, num1 / num2];
}
var re = getResult(1, 2); //返回的是一个数组
console.log(re);
-
函数没有return返回undefined
函数都是有返回值的。
- 如果有return则返回return后面的值;
- 如果没有return则返回undefined。
function fun1() {
return 333;
}
console.log(fun1()); //返回666
function fun2() {
}
console.log(fun2()); //函数返回的结果是 undefined
-
break,continue,return的区别
- break:结束当前的循环体(如for,while);
- continue:跳出本次循环,继续执行下次循环(如for,while);
- return:不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码。