1.函数的初步认识:
/* 没有函数之前,代码重复性很多
//1+2+3+...+100
var sum = 0;
for(var i=1; i<=100; i++) {
sum = sum + i;
}
alert(sum);
//1+2+3+...+1000
var sum2 = 0;
for(var i=1; i<=1000; i++) {
sum2 = sum2 + i;
}
alert(sum2);*/
//自定义函数
function printMess() {
alert("青春,奋斗永无止境");
}
printMess();//调用函数
printMess();
printMess();
//定义一个函数 实现求两个数的和
// a b 形式参数(形参) 函数定义时的参数叫形参
function getSum(a,b) {
var c = a + b;
//console.log(c);
return c;//把c返回到函数调用的地方
}
/*
//调用函数
getSum(10,20);//函数调用的参数 叫实参,实参传递给形参
getSum(-6,6);*/
var sum = getSum(10,20,30);//var sum = 30
alert(sum);
2.js函数覆盖:
function fun(a,b) {
alert("fun() 1");
}
function fun(a,b) {
alert("fun() 2");
if(条件)
return;
}
fun(2,3);
3.函数定义的两种方式:
fun();
function fun() {
alert("fun函数");
}
myfun();//报错,函数表达式定义方式 要先定义后调用
var myfun = function() {
alert("我是函数表达式定义方式");
}
4.函数的递归:
//函数 求1+2+3+...+10
/*
function getSum(n) {
var sum = 0;
for(var i=1; i<=n; i++) {
sum = sum + i;
}
return sum;
}
alert(getSum(10));*/
//用递归实现
//1+2+3+....+10 = 10+(1+2+3+...+9)
function getSum(n) {
//让递归结束
if(n==1)
return 1;
return n+getSum(n-1);
}
alert(getSum(100));
//n=10 10+getSum(9) = 10+9+getSum(8) = 10+9+8+getSum(7)= 10+9+。。。。。。2+getSum(1)
var arr = [1,2];
function fun(arr2) {
arr[0]
}