当前位置: 首页 > 工具软件 > Fathom.js > 使用案例 >

JS Functions

苏德容
2023-12-01

       JS 函数定义:

           1. function f(x){.....} 

           2. var a = function(x){....}

           3. function(x){....}

       三种定义方式的区别为: 第一种是最常用的定义方式,它的声明会自动提升到它定义范围的顶部,即可以在它的定义之前使用它。第二种定义方式只能是在它的声明之后使用,不能在声明之前使用它。第三种为匿名函数,它多用于作为函数参数或直接执行使用。

       函数的调用可以分为四种:

           1. 作为一个函数来调用。

           2. 作为对象的方法来调用。

           3. 作为构造函数来使用。

           4. 用call()或apply()方法非直接调用方式来使用它们。

      JavaScript函数参数: JavaScript并不对函数参数进行检查(包括参数个数与类型的检查),实参个数可以多于形参个数,也可以比形参个数少。它也就没有了像java里那样的函数重载。JavaScript函数有一个arguments的实参对象,它是一个像数组的对象,有一个length属性为实参实际的个数,可以用arguments[i]这样的形式来引用相应的实参。arguments还有一个callee的属性,它指代的是当前运行的函数。如:

var cx = (function(x){
    if(x == 1) return 1;
    else return x*arguments.callee(x-1);
}(5));

console.log(cx);
       callee属性还有一个length属性,它代表的是形参个数。
        当函数参数比较多的时候,可以使用一个对象来作为参数,这样做可以不必记住每个参数实际的位置甚至个数。

       因为函数也是一种对象,所以可以为函数添加自定义的属性。

       由于JavaScript里面函数作用域的特性,可以使用一个函数来作为命名空间,从而不使不需要出现在其它作用域的变量等污染其它作用域。

       对于call()与apply()方法,它们俩的作用基本相同,只是call()方法第一个参数为调用函数的对象,其它参数为给函数的实际参数。而apply()方法第一个参数与call()方法相同,而第二个方法为一个数组,它包含了所有的实际参数。


     









 类似资料:

相关阅读

相关文章

相关问答