一、函数:函数是一段在一起,可以做某件事的程序。
1、优点:控制程序设计的复杂性
提高软件的开发可靠性
提高软件的开发效率
提高软件的可维护性
提高程序的重用性
2、JavaScript定义函数的方式
function 关键字 function demo(){ code..}
匿名函数 var demo = function(){}
Function 构造函数 (不推荐使用) var demo = new Function(‘a’,’b’,”console.log(a+b)”);
3、调用方式区别
函数声明的提前
匿名函数无法提前使用
4、函数名
函数名可由开发者自行定义,与变量命名规则相同(描述性强,简洁)。
5、函数参数
多个参数使用,分割
形参
实参
6、参数特点
当实参数量>形参数量(省略)
当实参数量<形参数量(undefined)
通过if(n1 === undefined){}设置参数的默认值
通过实参对象arguments将获取的参数组成一个数组(arguments在严格模式下是一个关键字)
小实例:配合循环计算所有参数的和。
7、函数的返回值
使用关键字return
结束函数
可以返回值 也可以没有返回值
8、函数的引用和调用
调用:在函数名后面加上();
引用:使用函数名;
二、函数小实例:
实例1:使用函数求绝对值,求平方。
实例2:计算两点之间的距离
实例3:将出生日期判断生肖改成函数
三、JavaScript变量的作用域
全局变量--定义在函数的外部。
局部变量--定义在函数内部
不使用var时变成全局变量,但是需要执行函数才能使用内部定义的变量
严格模式下,不支持。不推荐使用。(避免全局变量污染)
注意:函数外for循环等定义的变量也是全局变量。
四、函数的调用
1、函数内调用别的函数
2、使用参数调用 --回调函数
3、函数内调用自己 --递归函数
function demo(n){
if(n<0){
return;
}else{
document.write(n+"<br>");
demo(n-1);
}
}
function demo(n){
if(n<0){
return;
}else{
document.write(n+"<br>");
demo(n-1);
document.write(n+"<br>");
}
}
使用debugger调试 打开F12
实例:求阶乘
1、function demo(n){if(n<=1){return n;} return n*demo(n-1);}
2、for();