<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • javascript中的函數分析

    時間:2024-08-20 22:18:36 JavaScript 我要投稿
    • 相關推薦

    javascript中的函數分析

      在腳本語言JavaScript中,函數的定義是由事件驅動或者當它被調用時可重復使用的代碼塊。在JavaScript的標準ECMAscript中,把函數表述為可以隨時隨地運行的語句。

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

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

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

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

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

      在Javascript中只有這三種定義函數的方式,接下來說說每一種定義方式的使用的注意事項和具體的用法:第一種定義方式是最簡單,最容易理解的,他就是簡簡單單的為我們定義一個函數,供我們在接下來的編程中使用;第二中方式是通過我們構造一個匿名函數,并且把這個匿名函數的傳遞給一個我們定義的函數變量來實現的,他在閉包中是很常見的,為的是使在全局域內,我們能使用內層函數,讓我們的函數形成閉包結構。第三種方式是通過new出一個新的內存空間存放我們的匿名函數,并賦值與我們定義的函數名,這個函數是基于我們的匿名函數創建的。這種方式主要應用在原型里面。

      其實通過觀察,我們會發現,好像這三種定義方式之間聯系很緊密,感覺第三種第一方式好像是前面2種和第三種的組合使用,實事也是你看到的這樣,所以對于這3種定義方式我們知道就行了,知道他們分別什么時候使用就好了。再有,我要說的是這三種定義方式的數據類型,是基于基本類型來說的,和基于對象類型的數據是一樣的,在基于對象數據類型里,我們把函數稱為對象。當你接觸了對象的定義時,很明顯的發現,他們的定義方式基本上是一樣的。只不過函數名給稱為對象,定義的形式是很類似的。記住一點,對象就是函數,函數就是對象。

      (二)幾種特殊的函數:

      (1) 匿名函數

      所謂的匿名函數,就是沒有函數名的函數。這種函數的有點就是說,它的調用很難,這也就保證了安全性。那么我們應該如何調用匿名函數呢?來看個例子:

      通過把匿名函數作為參數傳遞給add變量,我們就可以調用我們的匿名函數了。

      (2)自調函數

      自調函數也是匿名函數的一種,它沒有作為參數傳遞給其他變量,也沒有自己的函數名,也就是說它不能被別人調用,只能自己調用自己。

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

      其實自調函數主要用于實現一次性的功能,就是說在執行周期內只運行一次,所以在我們進行網頁的初始化時,可以考慮使用自調函數。

      (3)回調函數

      回調函數,就是把自身作為返回值或者實參傳遞的這樣的函數。

      函數a()和b()就是回調函數的應用。

      (4)內部函數

      這個就是一句話了,就是存在于函數內部的一類函數。

      (三)函數的優點:

      1.大量重復的語句寫在函數里面,可以重復的調用;

      2.簡化編程語言,讓編程變得模塊化;

      3.優化代碼結構;

      (四)注意事項:

      1.函數的書寫時,可以先調用,在書寫;因為JavaScript在程序開始時,會對我們所有的函數和變量進行隱式的聲明;

      2.函數不會自己執行,只有在發生函數調用時,才會分配空間,才能使用;

      3.函數名相同時,默認執行寫在下面的函數;

      4.函數名若有一個單詞構成,則首字母小寫,若有多個單詞構成,第一個單詞后其他單詞首字母大寫;

      (五)函數的變量域:

      1.全局變量

      寫在全局域的變量稱為全局變量;

      2.局部變量

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

      我們要清楚的知道,學習JavaScript語言就是學習各種各樣的函數,所以對于函數的理解一定深刻一些,不然在以后的學習過程中,我們會遇到各種函數的嵌套啊,什么的各種函數糅雜在一起,就會更加的理不清頭緒。

    【javascript中的函數分析】相關文章:

    Javascript函數的定義和用法分析08-15

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

    淺析jQuery 遍歷函數javascript08-06

    PHP中的排序函數區別分析08-23

    最常用的20個javascript方法函數09-10

    JavaScript日期時間格式化函數08-29

    JavaScript中的with關鍵字07-24

    在Java中執行JavaScript代碼07-14

    Javascript中typeof 用法歸納09-27

    javascript分析運算符用法08-07

    主站蜘蛛池模板: 少妇精品久久久一区二区三区| 97精品国产一区二区三区| 亚洲国产一二三精品无码| 91久久福利国产成人精品| 亚洲Av永久无码精品三区在线| 国产精品户外野外| 91麻豆精品国产自产在线观看亚洲| 亚洲国产主播精品极品网红| 国产精品男男视频一区二区三区| 99久久er这里只有精品18| 一区二区三区精品高清视频免费在线播放 | 精品国偷自产在线视频| 51午夜精品免费视频| 亚洲乱码精品久久久久..| 美女岳肉太深了使劲国产精品亚洲专一区二区三区 | 亚洲人午夜射精精品日韩| 精品视频在线观看你懂的一区 | 欧美精品免费在线| 2022国产精品自产拍在线观看 | 狠狠色伊人久久精品综合网| 精品一区二区三区色花堂| 国产香蕉国产精品偷在线| 久久亚洲私人国产精品| 亚洲精品国精品久久99热一| 午夜精品久久久久9999高清| 国产一区二区三精品久久久无广告| 四虎永久在线精品国产免费| 国产成人精品精品欧美| 999久久久无码国产精品| 国产精品白丝AV网站| 久久er99热精品一区二区| 久久精品无码午夜福利理论片| 午夜DY888国产精品影院| 人妻精品久久久久中文字幕69| 亚洲精品国产美女久久久| 亚洲精品无码mv在线观看网站| 野狼第一精品社区| 色欲久久久天天天综合网精品| 久久久精品人妻一区二区三区蜜桃| 色婷婷在线精品国自产拍| 欧美精品一区二区蜜臀亚洲|