1、函数定义
函数是定义一次却可以调用或执行任意多次的JS代码。
函数有时会有参数,即当函数被调用的时候指定了值的局部变量。
2、函数声明
以function来声明,函数本身并没有返回值,
通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。
(1)带参数
function box(){ //不带参数的函数;
alert('只有函数被调用,我只会被之执行');
}
box();
(2)不带参数
function box(name,age){ //带参数的函数;
alert('你的名字是:'+name+',年龄:'+age'');
}
box('李辉',21); //调用函数;
3、return返回值
无论是带参数和不带参数的函数,都没有返回值,只有被调用的时候才有返回值。
function box(){
return ('我只有被调用才执行!');
}
alert(box()); //只有box()时并不会有效果,只能alert弹出字符串
(1)功能1:将函数返回值赋值给一个变量,然后对变量进行操作。
function box(num1,num2){
return num1*num2;
}
var num=box(10,5);
alert(num);
(2)功能2:退出当前函数(注意和break区别)
function box(num){
if(num<5) return num; //满足条件,返回num;
return 100; //返回之后,就不执行;
}
alert(box(10));
注意:若在函数中同一级别有两个return,“
return 1;return 2;
”,
当第一个return执行之后,便退出,结果返回1。
4、argument对象
(1)无论传递多少的参数,都可以接收。
若参数多,显示未定义undefined。
function box(){
return arguments[0]+arguments[1];
}
alert(box(1,2));
此外,可根据arguments.length来判断数组对象的大小
function box(){
var sum=0;
for(var i=0;i<arguments.length;i++){
sum+=arguments[i];
}
}
alert(box(1,2));
结果:3(首先判断有两个参数,arguments.length=2,其次进行加减运算)
(2)ECMAScript函数没有重载功能。
function box(num){
return num+100;
}
function box(num){ //会执行第二个函数;
return num+200;
}
alert(box(50));
结果:250