javascript函数的参数和return语句

javascript函数的参数和return语句

一、参数(最多是25个)

可以动态地改变函数体内对应的值的类型或值,使同一函数体得到不同的结果。
形参在定义函数的时候,函数括号中定义的变量叫做形参。
实参使用函数的时候,在括号中传入的变量叫做实参。

    function tower() {
        for(var i=1;i<=5;i++){
            for(var j=1;j<=5-i;j++){
                document.write(" ");
            }
            for(var j=1;j<=i*2-1;j++){
                document.write("*");
            }
            document.write("
"); } } tower();

输出

    *
   ***
  *****
 *******
*********

改造为

    function tower(num) { //num为形参
        for(var i=1;i<=num;i++){
            for(var j=1;j<=num-i;j++){
                document.write(" ");
            }
            for(var j=1;j<=i*2-1;j++){
                document.write("*");
            }
            document.write("
"); } } tower(2); //2为实参

输出

 *
***

1.参数的类型

可以是任何的数据类型

    function fun(a) {
        document.write(a);
    }
    fun("fish");
    fun(true);
    obj={};
    fun(obj);

输出 fishtrue[object Object]

2.参数的个数(最多是25个)

A.实参和形参数量相等,一一对应
B.形参的数量多于实参

不会报错,但是多出的参数的值会被赋值为undefined

    function fun(a,b) {
        document.write(a);
        document.write(b);
    }
    fun(1);

输出 1undefined
C.实参的数量多于形参

不会报错,但是得到的多出的实参的值,要用arguments对象

    function fun(a,b) {
        document.write(a);
        document.write(b);
    }
    fun(1,2,3);

输出 12

二、arguments对象

每创建一个函数,该函数就会隐式地创建一个arguments对象,它包含有实际传入参数的信息。
它有两个属性。1.length(检测函数实际传入参数的个数)2.callee(对本身的调用)
它可以访问每一个传入参数的具体的值

    function fun(a,b) {
        document.write(arguments.length);
        document.write("
"); document.write(arguments.callee); document.write("
"); document.write(a); document.write(b); } fun(1,2,3);

输出

3
function fun(a,b) { document.write(arguments.length); document.write("
"); document.write(arguments.callee); document.write("
"); document.write(a); document.write(b); }
12

arguments[下标] 访问当前位置的参数的值(下标从0开始)

    function fun(a,b) {
        document.write(arguments[2]);
    }
    fun(1,2,3);

输出 3

    function fun(a,b) {
        for (var i=0;i

输出 1 2 3

三、函数重载

同一个函数因为参数的类型和个数的不同,可以对应多个函数实现,每种实现对应一个函数体

    function fun(a,b) {
       if(arguments.length==1){
           document.write("参数只有一个 "+a);
       }
       if(arguments.length==2){
           document.write("参数有两个,分别是 "+a+" "+b);
       }
       if(arguments.length>2){
           document.write("参数太多了");
       }
       document.write("
"); } fun(1); fun(1,2); fun(1,2,3);

输出

参数只有一个 1
参数有两个,分别是 1 2
参数太多了

四、return语句

A.停止并跳出当前的函数

return语句后面的函数体内所有内容都不会有输出

    function fun(a) {
        return;
       document.write(a);
    }
    fun(1);

没有输出

在函数体内可以有多个return语句,但是只会执行一个。(通常用于判断语句)

    function fun(a) {
        if(a>0){
            document.write(a+"大于0");
            document.write("
"); return; } if(a<0){ document.write(a+"小于0"); document.write("
"); return; } } fun(1); fun(-2);

输出

1大于0
-2小于0

B.给函数返回一个值 return [返回值];

1.返回值可以是任何的数据类型
2.只能返回一个返回值
3.如果函数没有返回值,那么这个函数的值就会自动地赋值为undefined

    function fun(a) {
        if(a>0){
            document.write(a+"大于0");
            document.write("
"); return; } } document.write( fun(1));

输出

1大于0
undefined
    function fun(a) {
        if(a>0){
            document.write(a+"大于0");
            document.write("
"); return a; } } document.write( fun(5));

输出

5大于0
5

你可能感兴趣的:(javascript函数的参数和return语句)