javascript中的函數(shù)分析

    時(shí)間:2024-08-20 22:18:36 JavaScript 我要投稿
    • 相關(guān)推薦

    javascript中的函數(shù)分析

      在腳本語(yǔ)言JavaScript中,函數(shù)的定義是由事件驅(qū)動(dòng)或者當(dāng)它被調(diào)用時(shí)可重復(fù)使用的代碼塊。在JavaScript的標(biāo)準(zhǔn)ECMAscript中,把函數(shù)表述為可以隨時(shí)隨地運(yùn)行的語(yǔ)句。

      (一)首先是函數(shù)的定義:

      在ECMAscript函數(shù)的定義是 關(guān)鍵字function 函數(shù)名( 參數(shù)){主體;return(返回值)};這四部分組成的,但是在腳本語(yǔ)言中函數(shù)的定義卻分為三種方式定義:

      形式1:function 函數(shù)名(參數(shù)){主體;返回值};這種定義的方式和ECMAscript的方式一樣;

      形式2:var 函數(shù)名=function (參數(shù)){主體;返回值};

      形式3:var 函數(shù)名=new Function (參數(shù)){主體;返回值};

      在Javascript中只有這三種定義函數(shù)的方式,接下來(lái)說(shuō)說(shuō)每一種定義方式的使用的注意事項(xiàng)和具體的用法:第一種定義方式是最簡(jiǎn)單,最容易理解的,他就是簡(jiǎn)簡(jiǎn)單單的為我們定義一個(gè)函數(shù),供我們?cè)诮酉聛?lái)的編程中使用;第二中方式是通過(guò)我們構(gòu)造一個(gè)匿名函數(shù),并且把這個(gè)匿名函數(shù)的傳遞給一個(gè)我們定義的函數(shù)變量來(lái)實(shí)現(xiàn)的,他在閉包中是很常見(jiàn)的,為的是使在全局域內(nèi),我們能使用內(nèi)層函數(shù),讓我們的函數(shù)形成閉包結(jié)構(gòu)。第三種方式是通過(guò)new出一個(gè)新的內(nèi)存空間存放我們的匿名函數(shù),并賦值與我們定義的函數(shù)名,這個(gè)函數(shù)是基于我們的匿名函數(shù)創(chuàng)建的。這種方式主要應(yīng)用在原型里面。

      其實(shí)通過(guò)觀察,我們會(huì)發(fā)現(xiàn),好像這三種定義方式之間聯(lián)系很緊密,感覺(jué)第三種第一方式好像是前面2種和第三種的組合使用,實(shí)事也是你看到的這樣,所以對(duì)于這3種定義方式我們知道就行了,知道他們分別什么時(shí)候使用就好了。再有,我要說(shuō)的是這三種定義方式的數(shù)據(jù)類型,是基于基本類型來(lái)說(shuō)的,和基于對(duì)象類型的數(shù)據(jù)是一樣的,在基于對(duì)象數(shù)據(jù)類型里,我們把函數(shù)稱為對(duì)象。當(dāng)你接觸了對(duì)象的定義時(shí),很明顯的發(fā)現(xiàn),他們的定義方式基本上是一樣的。只不過(guò)函數(shù)名給稱為對(duì)象,定義的形式是很類似的。記住一點(diǎn),對(duì)象就是函數(shù),函數(shù)就是對(duì)象。

      (二)幾種特殊的函數(shù):

      (1) 匿名函數(shù)

      所謂的匿名函數(shù),就是沒(méi)有函數(shù)名的函數(shù)。這種函數(shù)的有點(diǎn)就是說(shuō),它的調(diào)用很難,這也就保證了安全性。那么我們應(yīng)該如何調(diào)用匿名函數(shù)呢?來(lái)看個(gè)例子:

      通過(guò)把匿名函數(shù)作為參數(shù)傳遞給add變量,我們就可以調(diào)用我們的匿名函數(shù)了。

      (2)自調(diào)函數(shù)

      自調(diào)函數(shù)也是匿名函數(shù)的一種,它沒(méi)有作為參數(shù)傳遞給其他變量,也沒(méi)有自己的函數(shù)名,也就是說(shuō)它不能被別人調(diào)用,只能自己調(diào)用自己。

      圖中寫(xiě)的方式就是自調(diào)函數(shù)的使用,這個(gè)函數(shù)被兩個(gè)小括號(hào)包圍著,第一個(gè)小括號(hào)的作用是封裝,把我們編寫(xiě)的匿名函數(shù)封裝在其中,第二個(gè)小括號(hào)就是調(diào)用了,我們還可以給他初始化,就像第二個(gè)自調(diào)函數(shù)的寫(xiě)法一樣。

      其實(shí)自調(diào)函數(shù)主要用于實(shí)現(xiàn)一次性的功能,就是說(shuō)在執(zhí)行周期內(nèi)只運(yùn)行一次,所以在我們進(jìn)行網(wǎng)頁(yè)的初始化時(shí),可以考慮使用自調(diào)函數(shù)。

      (3)回調(diào)函數(shù)

      回調(diào)函數(shù),就是把自身作為返回值或者實(shí)參傳遞的這樣的函數(shù)。

      函數(shù)a()和b()就是回調(diào)函數(shù)的應(yīng)用。

      (4)內(nèi)部函數(shù)

      這個(gè)就是一句話了,就是存在于函數(shù)內(nèi)部的一類函數(shù)。

      (三)函數(shù)的優(yōu)點(diǎn):

      1.大量重復(fù)的語(yǔ)句寫(xiě)在函數(shù)里面,可以重復(fù)的調(diào)用;

      2.簡(jiǎn)化編程語(yǔ)言,讓編程變得模塊化;

      3.優(yōu)化代碼結(jié)構(gòu);

      (四)注意事項(xiàng):

      1.函數(shù)的書(shū)寫(xiě)時(shí),可以先調(diào)用,在書(shū)寫(xiě);因?yàn)镴avaScript在程序開(kāi)始時(shí),會(huì)對(duì)我們所有的函數(shù)和變量進(jìn)行隱式的聲明;

      2.函數(shù)不會(huì)自己執(zhí)行,只有在發(fā)生函數(shù)調(diào)用時(shí),才會(huì)分配空間,才能使用;

      3.函數(shù)名相同時(shí),默認(rèn)執(zhí)行寫(xiě)在下面的函數(shù);

      4.函數(shù)名若有一個(gè)單詞構(gòu)成,則首字母小寫(xiě),若有多個(gè)單詞構(gòu)成,第一個(gè)單詞后其他單詞首字母大寫(xiě);

      (五)函數(shù)的變量域:

      1.全局變量

      寫(xiě)在全局域的變量稱為全局變量;

      2.局部變量

      定義在函數(shù)內(nèi)部,并用var 聲明的變量稱為局部變量;如果定義在函數(shù)內(nèi)部,但未用var 聲明,則看做是全局變量。

      我們要清楚的知道,學(xué)習(xí)JavaScript語(yǔ)言就是學(xué)習(xí)各種各樣的函數(shù),所以對(duì)于函數(shù)的理解一定深刻一些,不然在以后的學(xué)習(xí)過(guò)程中,我們會(huì)遇到各種函數(shù)的嵌套啊,什么的各種函數(shù)糅雜在一起,就會(huì)更加的理不清頭緒。

    【javascript中的函數(shù)分析】相關(guān)文章:

    Javascript函數(shù)的定義和用法分析08-15

    JavaScript中push(),join() 函數(shù)實(shí)例詳解09-05

    淺析jQuery 遍歷函數(shù)javascript08-06

    PHP中的排序函數(shù)區(qū)別分析08-23

    最常用的20個(gè)javascript方法函數(shù)09-10

    JavaScript日期時(shí)間格式化函數(shù)08-29

    JavaScript中的with關(guān)鍵字07-24

    在Java中執(zhí)行JavaScript代碼07-14

    Javascript中typeof 用法歸納09-27

    javascript分析運(yùn)算符用法08-07

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲精选在线观看 | 在线看国产精品黄v | 尤物网亚洲综合在线看黄 | 亚洲国产精品午夜不卡网站 | 日韩国产精品视频一区二区三区 | 欧美日韩国产一区二区三区地区 |