javascript基础
函数
把一段相对独立的具有特定功能的代码块封装起来,形成一个独立的实体,就是函数,给函数起个名字,后续可以反复调用.
//声明函数
function sayHi() {
console.log('吃了吗?');
}
function getSum () {
var sum = 0;
for (var i = 0; i < 100; i++) {
sum += i;
}
console.log(sum);
}
getSum();
语法
通过参数的形式,可以把外部的值传递给函数内部
fuction 函数名(形参1, 形参2, 形参3 ...) {
//函数体
}
//下面是调用
函数名(实参1, 实参2, 实参3);
形参1 = 实参1;
形参2 = 实参2;
形参:在声明函数时,有些值是不固定的,同时为了起到一个占位的作用.
实参:实参就是需要给形参赋予的值.
案例
-
求1到n 之间的所有自然数之和;
function getSum(m) { var sum = 0; for (var i = 1; i <= m; i++) { sum += i; } onsole.log(sum); } getSum(2);
函数的返回值
函数执行完的时候,我们期望能够得到函数的一些反馈,这个时候可以让函数返回一些值,通过return得到返回值.
-
求一组数中的最大值
function getMax(arr) { var max = arr[0]; for (var i = 1; i < arr.length; i++) { if (max < arr[i]) { max = arr[i]; } } return(max);// 返回的值就为函数的结果; } var array = [12, 1, 99, 10, 20]; console.log(getMax(array));
-
不用函数其实也可以求数组中的最大值(了解)
var array = [12, 1, 22, 43, 12]; console.log(Math.max.apply(null, array) )
-
求一组数中的最小值
function getMax(arr) { var max = arr[0]; for (var i = 1; i < arr.length; i++) { if (max > arr[i]) { max = arr[i]; } } return(max);// 返回的值就为函数的结果; } var array = [12, 1, 99, 10, 20]; console.log(getMax(array));
-
求阶乘 n!=1×2×3×…×(n-1)×n
function Fac(n) { var fac = 1; for(var i = 1; i < n+1; ++i) { ac = fac * i; } return(fac); } console.log(Fac(3));
-
求1!+2!+3!+…+n!
function Fac(n) { var fac = 1; var sum = 0; for(var i = 1; i < n+1; ++i) { fac = fac * i; sum = sum + fac; } return(sum); } console.log(Fac(3));
返回值详解:
- 如果函数没有return语句,函数返回 undefined;
- 如果函数有return语句,但是return后面没有值,返回也是undefined;
- 如果函数有return语句且后面有值,那么函数返回返回值.
- 函数使用了return语句后,这个函数会执行完return语句后停止并立即退出函数,后面的代码不会继续执行
- 推荐的做法是: 要么让函数始终有一个返回值,要么永远不要返回值