久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網(wǎng)站+自適應(yīng)網(wǎng)頁多模板選擇-建站388元起價!!!
當(dāng)前位置:主頁 > 網(wǎng)站建設(shè) > JavaScript閉包和作用域分析,網(wǎng)站搭建

JavaScript閉包和作用域分析,網(wǎng)站搭建

時間:2023-08-06 11:08:06 閱讀: 文章分類: 網(wǎng)站建設(shè) 作者: 網(wǎng)站編輯員

導(dǎo)讀:網(wǎng)站搭建網(wǎng)站搭建JavaScript高級程序設(shè)計中對閉包的定義:閉包是指有權(quán)訪問另外一個函數(shù)作用域中變量的函數(shù)。在 JavaScript 中有兩種作用域類型:局部作用域、全局作快速建站技術(shù)建站技術(shù)。

快速建站技術(shù)建站技術(shù)

JavaScript高級程序設(shè)計中對閉包的定義:dede模板免費閉包是指有權(quán)訪問另外一個函數(shù)作用域中變量的函數(shù)。在 JavaScript 中有兩種作用域類型:局部作用域、全局作用域

JavaScript 擁有函數(shù)作用域:每個函數(shù)創(chuàng)建一個新的作用域。作用域決定了這些變量的可訪問性(可見性)。函數(shù)內(nèi)部定義的變量從函數(shù)外部是不可訪問的(不可見的)

當(dāng)你聲明一個變量的時候,一般是這樣的:

var a = 'a string'; var b = new String('a string'); 復(fù)制代碼

但這個時候你用typeof函數(shù)檢測這兩個變量的類型,就會發(fā)現(xiàn)以下結(jié)果:

console.log(typeof a);//string console.log(typeof b);//object 復(fù)制代碼

這是為什么呢?

這就要說到j(luò)avaScript的變量存儲,變量存儲有兩種方式:

其一:簡單的值類型(undefined、number、string、boolean)存儲在棧里。

其二:引用類型(函數(shù)、數(shù)組、對象、null)存儲在堆里,棧里儲存他們的內(nèi)存地址(如下圖)。

 

String,Number,Boolean等類都派生自O(shè)bject對象,因此通過 new 關(guān)鍵字構(gòu)造的她們都屬于對象,而不是簡單的值類型。

例子里的變量b,通過String構(gòu)造函數(shù)聲明,則b的__proto__指向String函數(shù)的prototype對象,因而b也繼承有String函數(shù)的prototype的所有屬性。

而變量a的聲明方法是直接通過等號賦值,則變成了一個簡單的值類型,存儲在棧中。

 

作用域和​上下文環(huán)境

乍一聽這個名詞我們可能有點不太能理解,我們先這么淺薄地理解:

作用域是函數(shù)的一塊“領(lǐng)地”,上下文環(huán)境保存作用域內(nèi)的參數(shù)名和值,例如:

var a = 1, foo = function(b){ console.log(a+b); }; foo(2); 復(fù)制代碼

1、 因為我們的代碼在全局環(huán)境內(nèi)執(zhí)行,在執(zhí)行代碼之前(即預(yù)編譯),將先創(chuàng)建全局上下文環(huán)境,再把全局上下文環(huán)境壓入 上下文棧 :

全局上下文環(huán)境 aundefinedfooundefinedthiswindow

 

2、然后我們執(zhí)行代碼(到調(diào)用foo函數(shù)之前),然后為變量賦值:

全局上下文環(huán)境a1foofunctionthiswindow

3、 然后我們調(diào)用foo函數(shù),我們的上下文環(huán)境就要轉(zhuǎn)到foo函數(shù)內(nèi)部,并把foo函數(shù)執(zhí)行上下文環(huán)境壓入 上下文棧 ,:

關(guān)鍵詞標簽: 網(wǎng)站搭建 作用 javascript

聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-08-06 ,文章JavaScript閉包和作用域分析,網(wǎng)站搭建主要講述作用,JavaScript,網(wǎng)站搭建網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_36821.html

我的IDC 網(wǎng)站建設(shè)技術(shù)SEOUC.COM
專注網(wǎng)站建設(shè),SEO優(yōu)化,小程序設(shè)計制作搭建開發(fā)定制網(wǎng)站等,數(shù)千家網(wǎng)站定制開發(fā)案例,網(wǎng)站推廣技術(shù)服務(wù)。
  • 5000+合作客服
  • 8年從業(yè)經(jīng)驗
  • 150+覆蓋行業(yè)
  • 最新熱門源碼技術(shù)文章

    主站蜘蛛池模板: 同心县| 松桃| 南岸区| 德州市| 高台县| 海兴县| 彭水| 长宁县| 苏州市| 定陶县| 太原市| 延边| 闵行区| 酉阳| 阿克苏市| 磴口县| 洪雅县| 兴国县| 镇巴县| 安庆市| 乐业县| 沙湾县| 武鸣县| 高平市| 晋中市| 平遥县| 西吉县| 长沙市| 东乌珠穆沁旗| 南皮县| 绥江县| 金昌市| 贵阳市| 宝兴县| 颍上县| 壶关县| 治多县| 七台河市| 清涧县| 资溪县| 五峰|