国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

一段代碼看出JS的的解析到執行的順序規則

Blackjun / 450人閱讀

摘要:注意申明的權重函數的形參申明聲明聲明也就之前提高的變量提升第部分執行先執行,再執行兩個,再執行函數表達式申明,及執行。

一段代碼看出JS的的解析到執行的順序規則 代碼
function bar(a, b) {
    b = 3;
    var b;
    function b(){}
    console.log(a); // 打印出:10
    console.log(b); // 打印出:3
    return function a(){};
}

bar(10);
執行順序 函數外面的時候,代碼拆成前后兩部分來看: 第 1 部分:(申明)

1、申明了一個bar=undefined的函數變量,用代碼可以看成:(VO是執行上下文,可以看成是this

VO = {bar:undefined}
第 2 部分:(執行)

2、執行bar(10)這里由于是函數,存在獨立作用域,只要存在作用域就先解析,所以這里又可以拆成兩部分來看:

第 2.1 部分:(申明)

先聲明a=10,b=undefined兩個形參變量,再申明函數變量b=function b(){},由于上下文VO1中已經存在 b 了,所以會覆蓋掉形參b的申明,然后再申明var變量b=undefined,并覆蓋已經存在VO1中函數變量b,用代碼表示:

VO1 = {a:10,b:undefined}

注意:這里需要注意的是函數表達式return function a(){}并不會提前申明,函數表達式函數申明的異同是,除了標準的函數申明function a(){},其他的都是函數表達式,如:var a = function (){}、(function a(){})...等。
注意:申明的權重:argument(函數的形參申明) > function聲明 > var聲明 (也就之前提高的變量提升Hoisting)

第 2.2 部分:(執行)

先執行b=3,再執行兩個console.log,再執行:函數表達式申明,及執行。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/92108.html

相關文章

  • Java并發編程:從根源上解析volatile關鍵字實現

    摘要:并發編程關鍵字解析解析概覽內存模型的相關概念并發編程中的三個概念內存模型深入剖析關鍵字使用關鍵字的場景內存模型的相關概念緩存一致性問題。事實上,這個規則是用來保證程序在單線程中執行結果的正確性,但無法保證程序在多線程中執行的正確性。 Java并發編程:volatile關鍵字解析 1、解析概覽 內存模型的相關概念 并發編程中的三個概念 Java內存模型 深入剖析volatile關鍵字 ...

    CNZPH 評論0 收藏0
  • 前端代碼質量進階:自定義 eslint 規則校驗業務邏輯

    摘要:自定義規則校驗代碼業務邏輯是社區中主流的工具,提供的大量規則有效的保障了許多項目的代碼質量。本文將介紹如何通過自定義檢查規則,校驗項目中特有的一些業務邏輯,如特殊作用域特殊使用規范性等。 自定義 eslint 規則校驗代碼業務邏輯 eslint 是 JavaScript 社區中主流的 lint 工具,提供的大量規則有效的保障了許多項目的代碼質量。本文將介紹如何通過自定義 eslint ...

    Coly 評論0 收藏0
  • Javascript 事件循環event loop

    摘要:現實中是這樣的執行結果為結果告訴我們,是單線程沒錯,不過不是逐行同步執行。搜索了很多官方個人博客得到了一堆詞引擎主線程事件表事件隊列宏任務微任務,徹底懵逼。。。以此規則不停的執行下去就是我們所聽到的事件循環。 都知道javascript是單線程,那么問題來了,既然是單線程順序執行,那怎么做到異步的呢? 我們理解的單線程應該是這樣的,排著一個個來,是同步執行。 showImg(https...

    Miyang 評論0 收藏0
  • 優化關鍵渲染路徑

    摘要:三種渲染流程實際場景下,大概會有三種常見的渲染流程注意和步驟是可避免的優化瀏覽器會在和加載完開始渲染頁面。優化避免阻塞解析器通過以上兩種方式引入均會阻塞,因而會阻塞出現在腳本后面的標記的渲染。 瀏覽器渲染原理 showImg(https://segmentfault.com/img/remote/1460000009159494?w=538&h=507);showImg(https:/...

    Integ 評論0 收藏0
  • 瀏覽器如何解析html、css、js

    摘要:全局變量局部變量全局函數一段也是一塊域。此時打印的自然是,要記住相當于,所以這時候改變的是局部變量,并沒有影響到全局變量,所以第二次打印的依然是。 在熟悉了瀏覽器的工作原理之后,今天我們來講講瀏覽器在從服務器獲取到網頁文件之后是如何解析的。了解了這個基礎知識,對敲出來的代碼,質量會有不小的提升。 一、瀏覽器如何解析html html文件在沒有寫入html標簽之前和txt文本是一個性質的...

    Awbeci 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<