Javascript基礎(chǔ)知識(shí)盲點(diǎn)總結(jié)之函數(shù)

字號(hào):


    函數(shù)是由事件驅(qū)動(dòng)的或者當(dāng)它被調(diào)用時(shí)執(zhí)行的可重復(fù)使用的代碼塊。本文重點(diǎn)給大家介紹js基礎(chǔ)知識(shí)盲點(diǎn)總結(jié)之函數(shù)。
    一、函數(shù)中的arguments對(duì)象
    每個(gè)函數(shù)內(nèi)部都有一個(gè)arguments,它能返回函數(shù)所接受的所有參數(shù)
    注意:argumens接收的是實(shí)參
    如下是利一個(gè)利用arguments特性編寫的求和函數(shù):
    function sumOnSteroids(){
    var I, res = 0;
    var number_of_params = arguments.length;
    for(I = 0; I < number_of_params; i++){
    res += arguments[i];
    }
    return res;
    }
    二、關(guān)于變量的作用域
    在javascript中,不能為變量定義特定的塊級(jí)作用域,但是可以定義其所屬的函數(shù)域。
    javascript中的全局變量指的是聲明在所有函數(shù)之外的變量
    在一個(gè)函數(shù)內(nèi)部定義的局部變量,在函數(shù)外部是不存在的
    如果在函數(shù)內(nèi)部聲明一個(gè)變量時(shí)沒(méi)有使用var語(yǔ)句,該變量就會(huì)被默認(rèn)為全局變量(即便在函數(shù)中定義外部也可以訪問(wèn))。這種變量會(huì)在函數(shù)被調(diào)用之前不存在,調(diào)用函數(shù)后會(huì)首次被創(chuàng)建并賦予全局作用域
    三、自調(diào)函數(shù)
    自調(diào)函數(shù)是可以在定義后自行調(diào)用的函數(shù),基本結(jié)構(gòu)如下:
    {
    function(name){
    alert(‘Hello' + name + ‘!');
    }
    }(‘Martin')
    后面的()可以進(jìn)行參數(shù)傳遞,其內(nèi)聲明的值會(huì)自動(dòng)傳遞到function的參數(shù)中
    使用如上這種自調(diào)匿名函數(shù)不會(huì)產(chǎn)生任何的全局變量
    四、可自行重寫的函數(shù)
    這種函數(shù)的特點(diǎn)是可以在執(zhí)行之后自己進(jìn)行函數(shù)重寫,下面是一個(gè)例子:
    function a(){
    alert(“A”);
    a = function(){
    alert(“B”)
    };
    }
    第一次調(diào)用a()時(shí),執(zhí)行alert(“A”);第二次調(diào)用a()時(shí),執(zhí)行alert(“B”)。因?yàn)樵诘谝淮螆?zhí)行該函數(shù)時(shí),其將全局變量a重新定義了
    以上所述是小編給大家介紹的Javascript基礎(chǔ)知識(shí)盲點(diǎn)總結(jié)之函數(shù)的相關(guān)知識(shí),希望對(duì)大家以上幫助!