函数

2018-06-12  本文已影响0人  一江碎月

定义

通过 function 关键字定义函数。

  1. () 的作用 :执行方法。单纯的函数名只是一个变量,只不过它指向了一个函数对象而已。

    function test(){
        return "run is test";
    }
    alert(test); // 会将方法全部输出 
    alert(test()); // 会输出 run is test
    

    第一个 alert 时,只是输出 test 指向的对象,即整个函数;

    第二个 alert 时,test 后跟 (),表示执行了该 test 方法,而该方法返回的是字符串 run in test,所以 alert 弹出的就是 run is test。

  2. 函数的调用可以放在函数的声明之前。

    test('fad'); //可以只传一个参数,或者一个也不传
    
    function test(name,age){ // 声明参数时,不需要写 var
        alert(name+age);
    }
    
    • 虽然函数定义了两个参数,但实际调用时,可以传一个参数或者一个也不传。未传参数的形参将会被赋值为 undefined。
  3. 一个函数可以 return 任何类型数据,因为函数没有定义返回值类型。

  4. 函数不具备重载功能,后定义的函数,会覆盖掉先定义的。如下:

    
    function test(){
        return arguments[0]+100;
    }
    
    function test(){
        return arguments[0]+200;
    }
    
    alert(test(1));//无论将该语句放到何处,输入的永远是 201。
    
    • 可以将函数名理解为一个变量,只不过它的值指向了一个函数。多次定义同名函数,相当于对一个变量多次赋值,后赋值的肯定会覆盖掉先赋值的内容。

匿名函数

没有函数名的函数,就是匿名函数。

var test = function(){
    return 'run is test';
}
alert(test()) // 使用 test 执行函数

赋值语句的右边就是一个匿名函数。赋值语句会将匿名函数的地址赋值给 test 变量,所以可以使用 test 执行该函数。

自我执行

将匿名函数使用 () 包起来,然后再通过 () 执行该匿名函数。

如:

(function(){
    console.log('匿名函数')
})()

首先使用 () 将匿名函数包裹起来。最后面的 () 表示执行包裹起来的匿名函数。

上一篇下一篇

猜你喜欢

热点阅读