作者:赵明明
(三) 函数:
数据类型是检查算法的合法性的必要条件。
常见的内置基本类型:
null 空
undefined 声明未定义
Number 数值 1整型 2,浮点型
String 字符
Boolean 布尔值
常见的引用类型:一般用New开辟空间
Object Array function
(1)函数:提高代码复用性,便于维护
console.log(sssssssssssssssssssssssssssssssss);
console.log(sssssssssssssssssssssssssssssssss);
console.log(sssssssssssssssssssssssssssssssss);
console.log(hell);
console.log(sssssssssssssssssssssssssssssssss);
例:function stra(){
console.log(sssssssssssssssssssssssssssssssss);
}
function par(){
console.log(hello);
}
stra();stra();par();stra();stra();
(2)函数的定义:功能模块的创建
语法:function 函数名(参数列表){ 函数体 }
关键字:function; 函数名(符合驼峰命名); 参数列表(形参:有参与无参(无参:函数名括号后啥都不写)),
数据交互时,通过传参可将外部参数传入函数体使用
例:function fun(){ --------无参函数
console.log("hahhahah")
}
fun(); ---执行函数
例: function fun(a,b){ --a,b为形式参数
console.log(a+b)
}
fun(3,5); ---- 调用实参 ,
【注意】在同一作用域函数名不可重名
(3)函数调用:对函数的使用
【规则】函数名(实参列表)=====实参与形参的关系:在调用时,把实参的内容传给形参,形参就有数值,可以在函数体内进行数据操作的使用
例:function list(){ --九九
for(var i=1;i<9;i++){
for(var j=1;j<=i;j++){
document.write(j +"*" + i + "=" +i*j)
}
document.write("</br>")
}
}
list();
例:function fun(a,b){ --a,b为形式参数
console.log(a+b)
}
fun(3,5); ---实参
4)函数值传递:
函数传参分为值传递与引用传递:
值传递是单向传递,只由实参传给形参,不能由形参传给实参(内置基本类型)
<1>内置基本类型作为参数:---直接将数值存入变量本身
例: function stre(){ ----主调函数
add(1,2) ----被调函数,后面括号中的参数称为实参
}
stre();
例: var a=78
var b=89
var t; t=a;a=b;b=t;------中间变量交换
a=a+b;b=a-b====>(a+b-b);a=a-b======>(a+b-a)----无中间变量
function swap(x,y){
var t;
t=x; x=y; y=t
}
var a,b; a=123; b=345;
swap(a,b)
console.log(a,b)
<2>引用类型传递:
function arre(brr){
var t;
brr[0]=brr[1];
brr[1]=t
}
var arr =[1,2]
arre(arr)
【总结】<1>对于数值型数据(内置基本类型),形参无法改变主调函数中实参的值。
<2>对于引用类型,可以通过形参改变主调函数中实参的内容
【说明】定义函数时的形参,如果没有出现函数调用时,并不占内存单元,只有调用时,系统才会为形参开辟空间,在调用结束后,形参所占内存的单元被销毁。
(5)函数的返回值:
<1>概念:函数调用时,从被调函数中得到一个值。函数的返回值通过return语句得到
例: function fun(m,n){
var c =a+b
return c
}
console.log(fun(1,2))
例:返回二个数最大值
function max(a,b){
return a>b?a:b
} console.log(max(4,8))