一.函数的概念:函数封装了实现某个功能或完成某个过程 的一段代码的集合。
二.函数的分类:
1.系统函数:
paserInt(String)
| 字符串中的数字提取转换函数 |
isNaN() | 判断是否为非数 |
alert(String) | 实现在页面弹出提示消息框 |
2.自定义函数:
概念:由程序员自己为了实现某个特定功能或某个过程而编写的函数,方便重复使用。
三. 自定义函数的定义和使用:
定义:function 函数名([参数1],[参数2]...[参数n]){
函数体(其它也叫方法体,完成功能过程的代码) [return 返回值]
}
1.参数:
形参:形式上的参数,在函数定义的时候定义(占个位置)。
|
实参:实际参数,实际上传递给函数参与运算或处理过程的数据。
|
2.返回值:
return作用:返回结果值,并结束函数(在函数体中遇到return则结束执行)
命名:
可由大小写字母、数字、下划线(
_
)和
$
符号组成,但是函数名不能以数字开头,且不能是
js
中 的关键字和保留字,参见变量的命名规范。
①、无参数无返回值:
//定义
function rectangle(){
for (var i=0;i<5;i++) {
for(var j=0;j<6;j++){
document.write(" * ");
}
document.write("<br />");
}
}
//调用
rectangle();//第一次调用
rectangle();//第二次调用
②、带参数无返回值:
function rectangle(rows,cnum){
for (var i=0;i<rows;i++) {
for(var j=0;j<cnum;j++){
document.write(" * ");
}
document.write("<br />");
}
}
//调用
var num = 9;//调用的地方要画的行数
var cnum = 6;
JuXing(num,"a");
function add(x,y){
var num = x+y;
document.write(num+"<br />");
}
add(12,56);//实参可以是常量、也可是变量或其它
③、无参数有返回值:
function getMax(){
var maxNum = [20,30,77,66,88];
var max = maxNum[0];
for(var i=1;i<maxNum.length;i++){
if(max < maxNum[i]){
max = maxNum[i];
}
}
document.write("最大值:"+max);
return max;
}
var temp;
temp = getMax();//调用的时候 需要用一个变量接收函数返回值
document.write("最高分加5分后:"+(temp+5));
④、带参数有返回值 :
//定义
function getMax(a,b){
var max = 0;
if(a > b){
max = a;
}else{
max = b;
}
return max;
}
//调用
var temp = getMax(80,90);
document.write("最大值是:"+temp);
function getMax(para,parb,parc,pard,pare){
var maxNum = [para,parb,parc,pard,pare];
var max = maxNum[0];
for(var i=1;i<maxNum.length;i++){
if(max < maxNum[i]){
max = maxNum[i];
}
}
document.write("最大值:"+max);
return max;
}
var temp;
temp = getMax(90,88,55,66,77);//调用的时候 需要用一个变量接收函数返回值
document.write("最高分加5分后:"+(temp+5));
四、全局变量和局部变量 :
局部变量:在函数内部定义的变量,只能在定义的函数内部使用的变量。
全局变量:在函数外部定义的变量,可以在定义好后页面的任何地方使用(包括函数的内部)。
注:任何地方省略
var
关键字定义的变量都是
"
全局变量
"
,因此我们一般不省略
var
关键字。
五、匿名函数:
匿名函数:函数没有定义名字的函数,但是有函数的定义。
1
、将一个匿名函数的定义赋值给一个变量
//定义
var cubed = function(num){
return num*num*num;
}
//调用
document.write(cubed(5));//用变量名调用
2
、将函数的定义赋值给数组元素
//定义
var cubed = [];
//将函数的定义赋值给数组元素,该数组元素就是一个函数
cubed[0] = function(num){
return num*num*num;
}
//调用
var result = cubed[0](6);
document.write(result);