久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

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

        千鋒教育

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

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

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

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

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

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

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

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

              什么是作用域

              JavaScript 中的作用域是指變量的可訪問(wèn)性或可見(jiàn)性,也就是說(shuō),程序的哪些部分可以訪問(wèn)該變量,或者該變量在何處可見(jiàn)。

              為什么作用域很重要

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

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

              作用域類型

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

              1. 全局作用域

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

        全局作用域

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

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

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

              3. 塊級(jí)作用域

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

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

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

              4.嵌套作用域

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

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

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

              5.詞法作用域

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

        詞法作用域

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

              如果上面的代碼是用支持動(dòng)態(tài)作用域的語(yǔ)言編寫(xiě)的,console.log(a) 則會(huì)打印出來(lái) I belong to func。

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

              6.作用域鏈

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

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

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

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

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

        tags:
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(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)站性能測(cè)試的常用指標(biāo)有哪些?

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

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

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

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

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

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

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

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

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

        2023-10-14 00:57:59
        快速通道
        丹棱县| 蓬安县| 苍溪县| 镇安县| 安岳县| 公安县| 本溪市| 奉新县| 淄博市| 奈曼旗| 南靖县| 肇州县| 西乡县| 定边县| 潞西市| 柏乡县| 常州市| 萨迦县| 大安市| 西乌| 南投县| 六枝特区| 静海县| 宜丰县| 油尖旺区| 昭觉县| 格尔木市| 淮滨县| 合山市| 漳浦县| 新巴尔虎左旗| 绵阳市| 德惠市| 博客| 新建县| 三穗县| 渝北区| 沙田区| 松溪县| 乳源| 芦山县|