摘要:注意申明的權重函數(shù)的形參申明聲明聲明也就之前提高的變量提升第部分執(zhí)行先執(zhí)行,再執(zhí)行兩個,再執(zhí)行函數(shù)表達式申明,及執(zhí)行。
一段代碼看出JS的的解析到執(zhí)行的順序規(guī)則 代碼
function bar(a, b) { b = 3; var b; function b(){} console.log(a); // 打印出:10 console.log(b); // 打印出:3 return function a(){}; } bar(10);執(zhí)行順序 函數(shù)外面的時候,代碼拆成前后兩部分來看: 第 1 部分:(申明)
1、申明了一個bar=undefined的函數(shù)變量,用代碼可以看成:(VO是執(zhí)行上下文,可以看成是this
)
VO = {bar:undefined}第 2 部分:(執(zhí)行)
2、執(zhí)行bar(10)這里由于是函數(shù),存在獨立作用域,只要存在作用域就先解析,所以這里又可以拆成兩部分來看:
先聲明a=10,b=undefined兩個形參變量,再申明函數(shù)變量b=function b(){},由于上下文VO1中已經存在 b 了,所以會覆蓋掉形參b的申明,然后再申明var變量b=undefined,并覆蓋已經存在VO1中函數(shù)變量b,用代碼表示:
VO1 = {a:10,b:undefined}
注意:這里需要注意的是函數(shù)表達式return function a(){}并不會提前申明,函數(shù)表達式和函數(shù)申明的異同是,除了標準的函數(shù)申明:function a(){},其他的都是函數(shù)表達式,如:var a = function (){}、(function a(){})...等。
注意:申明的權重:argument(函數(shù)的形參申明) > function聲明 > var聲明 (也就之前提高的變量提升Hoisting)
先執(zhí)行b=3,再執(zhí)行兩個console.log,再執(zhí)行:函數(shù)表達式申明,及執(zhí)行。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/92108.html
摘要:并發(fā)編程關鍵字解析解析概覽內存模型的相關概念并發(fā)編程中的三個概念內存模型深入剖析關鍵字使用關鍵字的場景內存模型的相關概念緩存一致性問題。事實上,這個規(guī)則是用來保證程序在單線程中執(zhí)行結果的正確性,但無法保證程序在多線程中執(zhí)行的正確性。 Java并發(fā)編程:volatile關鍵字解析 1、解析概覽 內存模型的相關概念 并發(fā)編程中的三個概念 Java內存模型 深入剖析volatile關鍵字 ...
摘要:自定義規(guī)則校驗代碼業(yè)務邏輯是社區(qū)中主流的工具,提供的大量規(guī)則有效的保障了許多項目的代碼質量。本文將介紹如何通過自定義檢查規(guī)則,校驗項目中特有的一些業(yè)務邏輯,如特殊作用域特殊使用規(guī)范性等。 自定義 eslint 規(guī)則校驗代碼業(yè)務邏輯 eslint 是 JavaScript 社區(qū)中主流的 lint 工具,提供的大量規(guī)則有效的保障了許多項目的代碼質量。本文將介紹如何通過自定義 eslint ...
摘要:現(xiàn)實中是這樣的執(zhí)行結果為結果告訴我們,是單線程沒錯,不過不是逐行同步執(zhí)行。搜索了很多官方個人博客得到了一堆詞引擎主線程事件表事件隊列宏任務微任務,徹底懵逼。。。以此規(guī)則不停的執(zhí)行下去就是我們所聽到的事件循環(huán)。 都知道javascript是單線程,那么問題來了,既然是單線程順序執(zhí)行,那怎么做到異步的呢? 我們理解的單線程應該是這樣的,排著一個個來,是同步執(zhí)行。 showImg(https...
摘要:三種渲染流程實際場景下,大概會有三種常見的渲染流程注意和步驟是可避免的優(yōu)化瀏覽器會在和加載完開始渲染頁面。優(yōu)化避免阻塞解析器通過以上兩種方式引入均會阻塞,因而會阻塞出現(xiàn)在腳本后面的標記的渲染。 瀏覽器渲染原理 showImg(https://segmentfault.com/img/remote/1460000009159494?w=538&h=507);showImg(https:/...
摘要:全局變量局部變量全局函數(shù)一段也是一塊域。此時打印的自然是,要記住相當于,所以這時候改變的是局部變量,并沒有影響到全局變量,所以第二次打印的依然是。 在熟悉了瀏覽器的工作原理之后,今天我們來講講瀏覽器在從服務器獲取到網頁文件之后是如何解析的。了解了這個基礎知識,對敲出來的代碼,質量會有不小的提升。 一、瀏覽器如何解析html html文件在沒有寫入html標簽之前和txt文本是一個性質的...
閱讀 2161·2021-11-24 09:39
閱讀 1654·2021-10-11 10:59
閱讀 2571·2021-09-24 10:28
閱讀 3456·2021-09-08 09:45
閱讀 1340·2021-09-07 10:06
閱讀 1744·2019-08-30 15:53
閱讀 2141·2019-08-30 15:53
閱讀 1475·2019-08-30 15:53