国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時隨地免費學(xué)習(xí)課程

            當(dāng)前位置:首頁  >  技術(shù)干貨  > web前端技巧-關(guān)于JavaScript的作用域你應(yīng)該了解的那點事

            web前端技巧-關(guān)于JavaScript的作用域你應(yīng)該了解的那點事

            來源:千鋒教育
            發(fā)布人:小千
            時間: 2021-06-21 09:17:00 1624238220

                  作用域是JavaScript中非?;A(chǔ)的概念,很多剛?cè)腴T的同學(xué)卻弄不懂作用域的概念,但不弄明白的話又不能夠?qū)懗龈咝Ш喗榈拇a,今天小千就來給大家介紹一下關(guān)于前端JavaScript作用域的那點事。

            <a href=web前端培訓(xùn)" />

                  什么是作用域

                  JavaScript 中的作用域是指變量的可訪問性或可見性,也就是說,程序的哪些部分可以訪問該變量,或者該變量在何處可見。

                  為什么作用域很重要

                  作用域的主要好處是安全性。也就是說,只能從程序的特定區(qū)域訪問變量,使用作用域,我們可以避免程序其他部分對變量的意外修改。

                  作用域可減少命名沖突。也就是說,我們可以在不同的作用域內(nèi)使用相同的變量名。

                  作用域類型

                  JavaScript中有三種類型的作用域:全局作用域、局部作用域或函數(shù)作用域、塊級作用域。

                  1. 全局作用域

                  不在函數(shù)或塊(一對花括號)內(nèi)定義的任何變量都在全局作用域內(nèi),可以從程序的任何位置訪問全局作用域內(nèi)的變量。例如:

            全局作用域

                  2. 局部作用域或函數(shù)作用域

                  利用 var 在函數(shù)體內(nèi)部聲明的變量都在局部作用域(或稱函數(shù)作用域)內(nèi),它們只能從該函數(shù)內(nèi)部訪問,不能在外部代碼中訪問。例如:

            局部作用域web前端培訓(xùn)

                  3. 塊級作用域

                  ECMAScript 2015 引入了 let 和 const 來定義變量,與 var 定義變量不同,它們的作用域是在最接近的花括號內(nèi),這意味著,不能從那對花括號之外訪問它們。例如:

                  我們可以看到 var 定義的變量可以在塊外部使用,而 let 定義的變量不能在塊外部訪問。

            塊級作用域web前端培訓(xùn)

                  4.嵌套作用域

                  就像 JavaScript 中的函數(shù)一樣,一個作用域可以嵌套在另一個作用域內(nèi)。例如:

            嵌套作用域web前端培訓(xùn)

                  這個代碼片段中有 3 個作用域彼此嵌套。首先,塊級作用域(由 let 定義的變量創(chuàng)建)嵌套在局部作用域或函數(shù)作用域內(nèi),而后者又嵌套在全局作用域內(nèi)。

                  5.詞法作用域

                  詞法作用域(也稱為靜態(tài)作用域),從字面上講是指作用域是在詞法分析(通常稱為編譯)時確定的,而不是在運行時確定的。以題主的問題作為示例:

            詞法作用域

                  在這里,不管是從哪兒調(diào)用 test() 函數(shù),console.log(a) 總是會打印 hello world,這與具有 動態(tài)作用域 的語言 console.log(a) 不同,后者會根據(jù)調(diào)用函數(shù)的位置而打印不同的值。

                  如果上面的代碼是用支持動態(tài)作用域的語言編寫的,console.log(a) 則會打印出來 I belong to func。

                  使用詞法作用域,我們可以僅通過查看源代碼來確定變量的作用域,而在動態(tài)作用域下,只有在執(zhí)行代碼后才能確定作用域。

                  6.作用域鏈

                  當(dāng)在 JavaScript 中使用變量時,JavaScript 引擎將嘗試在當(dāng)前作用域中查找變量的值,如果找不到變量,它將查找外部作用域并將繼續(xù)這樣做,直到找到變量或到達(dá)全局作用域為止。如果在全局作用域中仍然找不到該變量,它將在全局作用域內(nèi)隱式聲明該變量(非嚴(yán)格模式下)或返回錯誤。

            作用域鏈web前端培訓(xùn)

                  調(diào)用 bar() 函數(shù)時,JavaScript 引擎將查找 bar 變量并在當(dāng)前作用域中找到了它。接下來,在當(dāng)前作用域中查找 foo 變量,但無法找到它,因此繼續(xù)在外部作用域中查找并找到了它(即全局作用域)。

                  之后,我們?yōu)?num 變量賦值 99,JavaScript 引擎在當(dāng)前作用域中查找 num 變量,找不到,然后在外部作用域(全局作用域)中查找變量,也找不到,由于腳本不在嚴(yán)格模式下,因此創(chuàng)建一個名為 num 的新全局變量,并為其分配變量值 99。

                  以上就是關(guān)于JavaScript作用域的介紹和案例了,如果你對web前端開發(fā)感興趣的話,不妨來千鋒web前端培訓(xùn)班了解一下我們的web前端培訓(xùn)課程,現(xiàn)在咨詢更有全套免費學(xué)習(xí)資料可以領(lǐng)取,趕緊賴了解一下吧。

            tags:
            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT
            web網(wǎng)站性能測試的常用指標(biāo)有哪些?

            一、頁面加載時間頁面加載時間是衡量網(wǎng)站性能的重要指標(biāo)之一,它指的是從用戶請求一個頁面到頁面完全加載完成所需的時間。頁面加載時間的長短直...詳情>>

            2023-10-14 01:50:34
            MySQL索引為什么能讓查詢效率提高?

            一、MySQL索引為什么能讓查詢效率提高DB在執(zhí)行一條Sql語句的時候,默認(rèn)的方式是根據(jù)搜索條件進(jìn)行全表掃描。如果我們對某一字段增加索引,查詢時...詳情>>

            2023-10-14 01:38:15
            什么是面向云原生系統(tǒng)的智能運維?

            一、云原生系統(tǒng)概述云原生系統(tǒng)是指在云計算環(huán)境下構(gòu)建和運行的應(yīng)用程序系統(tǒng),具備高可用、彈性擴展、靈活部署和自動化管理等特點。它采用容器化...詳情>>

            2023-10-14 01:25:33
            怎么提升excel數(shù)據(jù)表訪問運算速度?

            一、怎么提升excel數(shù)據(jù)表訪問運算速度目前版本Excel最大列數(shù)為16384,沒有10w加。運算速度和Excel中是否有公式、公式的復(fù)雜度、對象的對少、格...詳情>>

            2023-10-14 01:22:48
            前端html5框架有哪些?

            一、BootstrapBootstrap是目前較受歡迎的前端HTML5框架之一。它由Twitter開發(fā)并開源,提供了一套易于使用的CSS和JavaScript組件,可以用于創(chuàng)建...詳情>>

            2023-10-14 00:57:59