04 JS的函数

来源:互联网 发布:淘宝男鞋店铺推荐知乎 编辑:程序博客网 时间:2024/05/18 00:07

1、创建函数

在ECMAScript中函数有以下几种创建方式

n  第一种

function       函数名称(参数列表){

函数体;

}

n   第二种

var 函数名称=function(参数列表){

     函数体;

}

n   第三种(了解)

Var 函数名称=new Function(参数列表,函数体); 

以上操作,都可以创建函数,我们只要求掌握第一种与第二种,对于第三种大家了解就可以。

2、调用函数

函数可以通过其名字加上括号中的参数进行调用。

示例1

<scripttype="text/javascript">

    //使用function 函数名称(参数列表 ){}方式来创建函数

    function add(a, b) {

        alert(a + b);

    }

    //调用函数

    add(10, 20);

</script>

示例2

<scripttype="text/javascript">

    //使用 var 函数名称=function(参数列表)来创建函数

    var add = function(a, b) {

        alert(a + b);

    }

    //函数调用  

    add(10, 20);

</script>

示例3                        

<scripttype="text/javascript">

    var add = new Function("a","b", "alert(a+b)");

    add(10, 20);

</script>

 

细节问题:

问题:如果我们在调用函数时,使用add(1,2,3,4)是否会出现问题哪?

如果是在java中我们这样调用一定会有问题的,但是对于javascript来说,是不会有问题的。简单的说,也就是 函数调用时传递的参数不一定要与函数声明时的参数个数一致

 

问题:如果调用时传递的参数与函数定义时参数个数不一致,那么我们在函数中如果获取多余的参数哪?

在javascript中有一个特殊的对象arguments,我们可以通过它来获取所有函数中的参数。                          

<scripttype="text/javascript">

    //创建函数

    function add(a, b) {

        //在函数中如果要获取所有参数列表中的信息可以使用argument来操作

        for(var i=0;i<arguments.length;i++){

            alert(arguments[i]);

        }

    }

    add(1,2,3,4);

</script>

3、函数参数与返回值

在java中我们定义一个方法,如果这个方法有返回值,我们必须做到以下两点:

1.      在方法声明时,必须声明其返回值类型,如果无返回值需要使用void。

2.      方法有返回值,我们在方法中需要使用return来返回结果。

那么我们在javascript中应该怎样处理一个函数的返回值哪?

直接使用return来返回结果,而不需要在方法上声明返回类型。

<scripttype="text/javascript">

    //创建函数

    function add(a, b) {

        //返回a与b的和

        return a+b;

    }

    //在调用函数时,我们就可以直接使用一个变量来接收函数的返回结果

    var sum=add(1,2,3,4);

    alert(sum)     

</script>  

4、函数的属性

name属性:返回紧跟在function关键字之后的函数名

length属性:返回函数预期传入的参数个数,即函数定义之中的参数个数

toString():返回函数的源码,函数内部注释一并返回。


5、函数的作用域

js有两种作用域:

全局作用域,变量在整个程序中一直存在,所有地方都可以读取;

函数作用域:变量只有在函数内部存在。


变量:

全局变量:在函数外部声明的变量就是全局变量,它可以在函数内部读取。

局部变量:在函数内部定义的变量,外包无法读取,称为“局部变量”。


注意:有一种在函数外定义,但是没有var 声明的变量,其实定义在window对象下的,可以作为全局变量使用,少用。

6、细节

Js的函数域其他数据类型(数值、字符串、布尔值)处于同等地位,可以使用其他数据类型的地方,就能使用函数,比如函数可以作为实参,返回值等。


7、js全局函数介绍   

        

n  编码函数


n  Js字符串解析函数


n  字符串与数字转换函数