摘要:變量的作用域鏈一個(gè)變量的查找找這個(gè)變量最近定義的地方找到了就不會(huì)再繼續(xù)向外找了下面用代碼實(shí)例說明實(shí)例實(shí)例還是實(shí)例局部變量的誤解循環(huán)由于的變量作用域?qū)嶋H上是函數(shù)內(nèi)部,我們?cè)谘h(huán)等語句塊中是無法定義具有局部作用域的變量的條件語句為了解決塊級(jí)作用
變量的作用域鏈
一個(gè)變量的查找,找這個(gè)變量最近定義var的地方,找到了就不會(huì)再繼續(xù)向外找了.
下面用代碼實(shí)例說明:
實(shí)例1:
var a = 10; function show(){ console.log(a); } show(); // 10
實(shí)例2
var a = 10; function show(){ console.log(a); a = 20; } show(); // 還是10
實(shí)例3
for循環(huán)
由于JavaScript的變量作用域?qū)嶋H上是函數(shù)內(nèi)部,我們?cè)?b>for循環(huán)等語句塊中是無法定義具有局部作用域的變量的:
function foo() { for (var i= 0; i < 100; i++) { // } i += 100; // document.write(i); // 200 } foo();
if 條件語句
if(true){ var i = 100; } console.log(i); // 100
為了解決塊級(jí)作用域,ES6引入了新的關(guān)鍵字let,用let替代var可以申明一個(gè)塊級(jí)作用域的變量
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78548.html
摘要:一看這二逼就是周杰倫的死忠粉看看控制臺(tái)輸出,確實(shí)沒錯(cuò)就是對(duì)象。從根本上來說,作用域是基于函數(shù)的,而執(zhí)行環(huán)境是基于對(duì)象的例如全局執(zhí)行環(huán)境即全局對(duì)象。全局對(duì)象全局屬性和函數(shù)可用于所有內(nèi)建的對(duì)象。全局對(duì)象只是一個(gè)對(duì)象,而不是類。 覺得本人寫的不算很爛的話,可以登錄關(guān)注一下我的GitHub博客,博客會(huì)堅(jiān)持寫下去。 今天同學(xué)去面試,做了兩道面試題,全部做錯(cuò)了,發(fā)過來給我看,我一眼就看出來了,因?yàn)?..
摘要:下面我們就羅列閉包的幾個(gè)常見問題,從回答問題的角度來理解和定義你們心中的閉包。函數(shù)可以通過作用域鏈相互關(guān)聯(lián)起來,函數(shù)內(nèi)部的變量可以保存在其他函數(shù)作用域內(nèi),這種特性在計(jì)算機(jī)科學(xué)文獻(xiàn)中稱為閉包。 寫這篇文章之前,我對(duì)閉包的概念及原理模糊不清,一直以來都是以通俗的外層函數(shù)包裹內(nèi)層....來欺騙自己。并沒有說這種說法的對(duì)與錯(cuò),我只是不想擁有從眾心理或者也可以說如果我們說出更好更低層的東西,逼格...
摘要:我們?cè)賮砜匆幌碌谝欢未a小紅小黑腳本出錯(cuò)腳本出錯(cuò)在這段代碼中變量與函數(shù),都擁有局部作用域。作用域鏈的最前端,始終都是當(dāng)前執(zhí)行代碼所在的作用域的變量對(duì)象。 個(gè)人博客原址 無論什么語言中,作用域都是一個(gè)十分重要的概念,在JavaScript中也不例外,作用域定義了變量或者函數(shù)有權(quán)訪問的范圍,決定了它們各自的行為。要理解JavaScript中的作用域首先就要知道:在let出現(xiàn)之前,JS中變...
摘要:這里一共說了三種作用域,其實(shí)可以說是兩種一種是全局作用域,而是局部作用域函數(shù)作用域塊級(jí)作用域,塊級(jí)作用域概念又包括了函數(shù)作用域。 作用域: 變量所在的上下文,指的是變量在哪些地方可以訪問 對(duì)于JavaScript來說有全局作用域但是沒有塊級(jí)作用域,在ES6中引入了關(guān)鍵字let可以生成塊作用域.見以下代碼: var value = true if (value) { var age ...
摘要:所以覺得把這個(gè)執(zhí)行的詳細(xì)過程整理一下,幫助更好的理解。類似的語法報(bào)錯(cuò)的如下圖所示三預(yù)編譯階段代碼塊通過語法分析階段之后,語法都正確的下回進(jìn)入預(yù)編譯階段。另開出新文章詳細(xì)分析,主要介紹執(zhí)行階段中的同步任務(wù)執(zhí)行和異步任務(wù)執(zhí)行機(jī)制事件循環(huán)。 一、概述 js是一種非常靈活的語言,理解js引擎的執(zhí)行過程對(duì)于我們學(xué)習(xí)js是非常有必要的。看了很多這方便文章,大多數(shù)是講的是事件循環(huán)(event loo...
閱讀 485·2023-04-25 17:26
閱讀 1504·2021-08-05 09:58
閱讀 1970·2019-08-30 13:17
閱讀 953·2019-08-28 17:52
閱讀 1069·2019-08-26 18:27
閱讀 1424·2019-08-26 14:05
閱讀 3622·2019-08-26 14:05
閱讀 1597·2019-08-26 10:45