最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

JavaScript基礎(chǔ)之函數(shù)與作用域

2023-03-13 18:35 作者:蘇喆i  | 我要投稿

1、函數(shù)??

函數(shù):就是封裝了一段可被重復(fù)調(diào)用執(zhí)行的代碼塊。通過此代碼塊可以實現(xiàn)大量代碼的重復(fù)使用。

1.1、函數(shù)的使用??

函數(shù)在使用時分為兩步:聲明函數(shù)調(diào)用函數(shù)

①聲明函數(shù)??

  • function?是聲明函數(shù)的關(guān)鍵字,必須小寫

  • 由于函數(shù)一般是為了實現(xiàn)某個功能才定義的, 所以通常我們將函數(shù)名命名為動詞,比如?getSum

②調(diào)用函數(shù)??

  • 調(diào)用的時候千萬不要忘記添加小括號

  • 口訣:函數(shù)不調(diào)用,自己不執(zhí)行

注意:聲明函數(shù)本身并不會執(zhí)行代碼,只有調(diào)用函數(shù)時才會執(zhí)行函數(shù)體代碼。


1.2、函數(shù)的封裝

  • 函數(shù)的封裝是把一個或者多個功能通過函數(shù)的方式封裝起來,對外只提供一個簡單的函數(shù)接口

1.3、函數(shù)的參數(shù)??

1.3.1、形參和實參??

在聲明函數(shù)時,可以在函數(shù)名稱后面的小括號中添加一些參數(shù),這些參數(shù)被稱為形參,而在調(diào)用該函數(shù)時,同樣也需要傳遞相應(yīng)的參數(shù),這些參數(shù)被稱為實參。

參數(shù)的作用?: 在函數(shù)內(nèi)部某些值不能固定,我們可以通過參數(shù)在調(diào)用函數(shù)時傳遞不同的值進(jìn)去

1.3.2、形參和實參個數(shù)不匹配??

注意:在JavaScript中,形參的默認(rèn)值是undefined

1.3.3、小結(jié)??

  • 函數(shù)可以帶參數(shù)也可以不帶參數(shù)

  • 聲明函數(shù)的時候,函數(shù)名括號里面的是形參,形參的默認(rèn)值為 undefined

  • 調(diào)用函數(shù)的時候,函數(shù)名括號里面的是實參

  • 多個參數(shù)中間用逗號分隔

  • 形參的個數(shù)可以和實參個數(shù)不匹配,但是結(jié)果不可預(yù)計,我們盡量要匹配

1.4、函數(shù)的返回值??

1.4.1、return語句??

有的時候,我們會希望函數(shù)將值返回給調(diào)用者,此時通過使用 return 語句就可以實現(xiàn)。

return 語句的語法格式如下:

  • 在使用 return 語句時,函數(shù)會停止執(zhí)行,并返回指定的值

  • 如果函數(shù)沒有 return?,返回的值是?undefined

1.5、arguments的使用??

當(dāng)我們不確定有多少個參數(shù)傳遞的時候,可以用?arguments?來獲取。在 JavaScript 中,arguments 實際上它是當(dāng)前函數(shù)的一個內(nèi)置對象。所有函數(shù)都內(nèi)置了一個 arguments 對象,arguments 對象中存儲了傳遞的所有實參。

  • arguments存放的是傳遞過來的實參

  • arguments展示形式是一個偽數(shù)組,因此可以進(jìn)行遍歷。偽數(shù)組具有以下特點

①:具有 length 屬性

②:按索引方式儲存數(shù)據(jù)

③:不具有數(shù)組的 push , pop 等方法

2、作用域??

通常來說,一段程序代碼中所用到的名字并不總是有效和可用的,而限定這個名字的可用性的代碼范圍就是這個名字的作用域。作用域的使用提高了程序邏輯的局部性,增強(qiáng)了程序的可靠性,減少

2.1、全局作用域??

作用于所有代碼執(zhí)行的環(huán)境(整個 script 標(biāo)簽內(nèi)部)或者一個獨立的 js 文件

2.2、局部(函數(shù))作用域??

作用于函數(shù)內(nèi)的代碼環(huán)境,就是局部作用域。 因為跟函數(shù)有關(guān)系,所以也稱為函數(shù)作用域

2.3、JS 沒有塊級作用域??

  • 塊作用域由?{}?包括

  • 在其他編程語言中(如 java、c#等),在 if 語句、循環(huán)語句中創(chuàng)建的變量,僅僅只能在本 if 語句、本循環(huán)語句中使用,如下面的Java代碼:

JS 中沒有塊級作用域(在ES6之前)

3、變量的作用域??

3.1、全局變量??

在全局作用域下聲明的變量叫做全局變量(在函數(shù)外部定義的變量

  • 全局變量在代碼的任何位置都可以使用

  • 在全局作用域下?var?聲明的變量 是全局變量

  • 特殊情況下,在函數(shù)內(nèi)不使用 var 聲明的變量也是全局變量(不建議使用)

3.2、局部變量??

在局部作用域下聲明的變量叫做局部變量(在函數(shù)內(nèi)部定義的變量

  • 局部變量只能在該函數(shù)內(nèi)部使用

  • 在函數(shù)內(nèi)部 var 聲明的變量是局部變量

  • 函數(shù)的形參實際上就是局部變量

3.3、區(qū)別??

  • 全局變量:在任何一個地方都可以使用,只有在瀏覽器關(guān)閉時才會被銷毀,因此比較占內(nèi)存

  • 局部變量:只在函數(shù)內(nèi)部使用,當(dāng)其所在的代碼塊被執(zhí)行時,會被初始化;當(dāng)代碼塊運行結(jié)束后,就會被銷毀,因此更節(jié)省內(nèi)存空間

4、作用域鏈??

  1. 只要是代碼,就至少有一個作用域

  2. 寫在函數(shù)內(nèi)部的叫局部作用域

  3. 如果函數(shù)中還有函數(shù),那么在這個作用域中就又可以誕生一個作用域

  4. 根據(jù)在內(nèi)部函數(shù)可以訪問外部函數(shù)變量的這種機(jī)制,用鏈?zhǔn)讲檎覜Q定哪些數(shù)據(jù)能被內(nèi)部函數(shù)訪問,就稱作作用域鏈

  • 作用域鏈:采取就近原則的方式來查找變量最終的值。


JavaScript基礎(chǔ)之函數(shù)與作用域的評論 (共 條)

分享到微博請遵守國家法律
平凉市| 麻栗坡县| 财经| 修文县| 波密县| 布尔津县| 墨脱县| 日照市| 佳木斯市| 保德县| 吴堡县| 泰兴市| 桐梓县| 那曲县| 三台县| 专栏| 昆山市| 雷山县| 峨山| 霍邱县| 五华县| 治县。| 陕西省| 凤翔县| 乌海市| 睢宁县| 五家渠市| 定西市| 察哈| 隆安县| 龙井市| 东丽区| 博罗县| 罗城| 霞浦县| 炉霍县| 乌鲁木齐市| 大埔县| 沙洋县| 聂拉木县| 出国|