js函数
什么是函数:
完成某一功能的代码段
可以重复执行的代码段
如何定义函数:
通过function关键字:
function 函数名称([参数,...]){
代码段;
return 返回值;
}
一般函数没有调用是不会执行的;函数如果是全局的,可以在函数申明之前进行调用,也可以在申明之后。
注意实行:
函数的规范:严格区分大小写;函数名重复会覆盖原来定义的函数。
函数的调用:
通过函数名称( )进行调用,如果有参数,传递相应的参数即可。
也可以通过window.函数名称( )进行调用
alert(calc(1,2));
alert(window.calc(3,5)); 通过window来调用函数;
function calc1(num1=1,num2=2){
return num1+num2;
}
定义函数的两个参数为num1 ,num2;默认值为1和2,当默认没有值得情况下,实参来给行参赋值,实参来决定函数的长度,
查询长度的函数:arguments.length;(arguments对象是传入参数的一个数组,它可以返回传入的参数:arguments[0]从零开始)
alert是内置函数 类型属于undefined;
例子:
function calc(x,y){
//return arguments;
//alert(arguments[0]);
//alert(arguments.length);
x=arguments[0]?arguments[0]:0; //arguments转换成布尔类型 第一个判断为真假 为真输出第二个,为假输出第三个
y=arguments[1]?arguments[1]:0;
return x+y;
}
alert(calc()); 现在检查值为0,cala没有赋值,0+0=0;
alert(calc(1,2)); 赋值结果为3,
function test(){ //定义函数的名字
var paramsNum=arguments.length;//得到传入参数的个数
var sum=0; //定义求和
for(var i=0;i<paramsNum;++i){ //当paramsnum等于获取的实参长度
sum+=arguments[i]; //输出为21
}
return sum; 返回sum的值;
}
alert(test(1,2,3,4,5,6)); //根据传入的值来逐个进行运算
function test1(){
var paramsNum=arguments.length;
var max=0; //最大值
for(var i=0;i<=paramsNum-1;i++){ //argumenst[i]从零开始划分,检查参数长度时是从1开始
if(arguments[i]>max){
max=arguments[i];
}
}
return max;
}
alert(test1(123,3432,23456,445643)); //argumenst[0]/argumenst[1]/argumenst[2]/argumenst[3]
默认参数:
function calc4(x,y){
if(x===undefined){ //行参没有赋值为undefined;
x=0;
}
y=y===undefined?0:y; //当Y等于undefined是输出0, y有值得时候输出y
return x+y; //返回的值给calc4 给上一级
}
//alert(calc4());
alert(calc4(1,2));
或一个为真他就为真 numl1为假 后面的值赋值给numl1;
function calc1(num1,num2){
num1=num1||1; //num1没有赋值为undefined,转换成布尔类型为假 ,1 为真赋值给num1;
num2=num2||2;
return num1+num2;
// }
alert(calc1());