摘要:聲明變量在同一個(gè)作用域中可以聲明同名的變量,但會(huì)污染變量會(huì)把聲明的變量字自動(dòng)提升至身上,作為的屬性會(huì)提升變量,聲明的變量會(huì)提升,只是未定義值,所以是找不到變量名是引用錯(cuò)誤聲明的變量不會(huì)提升,在之前使用,就會(huì)報(bào)錯(cuò)
let聲明變量:
1、同一個(gè)作用域下不能聲明同名的變量名
let count = 11; let count = 12;//報(bào)錯(cuò):Uncaught SyntaxError: Identifier "count" has already been declared
2、不會(huì)把聲明的變量放到window上:
let temp = 10; console.log(temp);//10 console.log(window.temp);//undefind
3、在所在的塊中會(huì)形成塊級(jí)作用域
if for switch while ....... for(let i=0; i<4; i++){ console.log(i);//0 1 2 3 } // 第一次做循環(huán)的時(shí)候會(huì)聲明一個(gè)變量為i值為0 // 第二次會(huì)重新聲明變量為i,i的值為上一次結(jié)果作為初始值,i為1 //依次類(lèi)推...
4、不會(huì)提升變量
//只要塊級(jí)作用域內(nèi)存在let命令,它所聲明的變量就“綁定”(binding)這個(gè)區(qū)域,不再受外部的影響。 稱(chēng)呼叫做暫存死區(qū)(TDZ)。
var聲明變量:
1、在同一個(gè)作用域中可以聲明同名的變量,但會(huì)污染變量
var index = 1; console.log(index);//1 var index = 3; console.log(index);//3
2、會(huì)把聲明的變量字自動(dòng)提升至window身上,作為window的屬性
var num = 2; console.log(num);//2 console.log(window.num);//2
3、var會(huì)提升變量
console.log(a);//undefined,var聲明的變量會(huì)提升,只是未定義值,所以是undefined console.log(b);//找不到變量名是引用錯(cuò)誤ReferenceError var a = 1; let b = 2; //let聲明的變量不會(huì)提升,在之前使用,就會(huì)報(bào)錯(cuò)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/92029.html
摘要:聲明一個(gè)只讀的常量。的作用域與命令相同只在聲明所在的塊級(jí)作用域內(nèi)有效。這在語(yǔ)法上,稱(chēng)為暫時(shí)性死區(qū),簡(jiǎn)稱(chēng)。暫時(shí)性死區(qū)也意味著不再是一個(gè)百分之百安全的操作。重復(fù)聲明是允許在相同作用域內(nèi)重復(fù)聲明同一個(gè)變量的,而與不允許這一現(xiàn)象。 轉(zhuǎn)載自阮一峰老師的ES6入門(mén),稍有修改 1.基本概念MDN var聲明了一個(gè)變量,并且可以同時(shí)初始化該變量。let語(yǔ)句聲明一個(gè)塊級(jí)作用域的本地變量,并且可選的賦予...
摘要:全局作用域在最頂層聲明的變量成為全局變量,全局變量擁有全局作用域,它們?cè)诔绦虻娜魏蔚胤蕉际悄軌虮辉L問(wèn)到。作用域的主要作用是能夠控制變量是使用范圍。程序?qū)?huì)被中斷,這個(gè)特性被稱(chēng)為暫存死區(qū)。 1. 變量聲明、初始化 Javascript中使用一個(gè)變量之前需要先聲明,我們可以使用var、let、const來(lái)聲明一個(gè)變量。如果在給聲明的變量指定初始值,就是初始化。如: var a = 1; ...
摘要:外層作用域不報(bào)錯(cuò)正常輸出塊級(jí)作用域與函數(shù)聲明規(guī)定,函數(shù)只能在頂層作用域和函數(shù)作用域之中聲明,不能在塊級(jí)作用域聲明。規(guī)定,塊級(jí)作用域之中,函數(shù)聲明語(yǔ)句的行為類(lèi)似于,在塊級(jí)作用域之外不可引用。同時(shí),函數(shù)聲明還會(huì)提升到所在的塊級(jí)作用域的頭部。 前言:最近開(kāi)始看阮一峰老師的《ECMAScript 6 入門(mén)》(以下簡(jiǎn)稱(chēng)原...
摘要:變量用命令聲明,不會(huì)發(fā)生變量提升。報(bào)錯(cuò)不報(bào)錯(cuò)塊級(jí)作用域?qū)嶋H上為新增了塊級(jí)作用域。這表示外層代碼塊不受內(nèi)層代碼塊的影響。以下兩行都會(huì)報(bào)錯(cuò)聲明變量的六種方法只有兩種聲明變量的方法命令和命令。之中,頂層對(duì)象的屬性與全局變量是等價(jià)的。 let 與 cost 1.使用 let 關(guān)鍵字聲明變量,與使用 var 關(guān)鍵字聲明變量書(shū)寫(xiě)方式一致; { let a = 10; var b = 1; ...
摘要:聲明變量不存在變量提升。臨時(shí)死區(qū),而且不能在聲明之前訪問(wèn)它。禁止重復(fù)聲明相同的變量,否則報(bào)錯(cuò)。不存在變量提升,一旦執(zhí)行快外就會(huì)立即銷(xiāo)毀。聲明不允許修改綁定,但允許修改值,也就是說(shuō)用創(chuàng)建對(duì)象后,可以修改該對(duì)象的屬性值。 知識(shí)點(diǎn) var 聲明變量: 1、存在變量提升,實(shí)際上var無(wú)論在哪里聲明,都會(huì)被當(dāng)做當(dāng)前的作用域頂部聲明變量。 2、可以重復(fù)聲明,后聲明的變量會(huì)覆蓋前聲明的變量。 let...
摘要:塊級(jí)作用域綁定變量聲明的變量聲明與其他的一些計(jì)算機(jī)語(yǔ)言不同,在類(lèi)的語(yǔ)言中,變量總是在被聲明的地方創(chuàng)建而在中變量創(chuàng)建的位置取決于你如何聲明它,為我們提供了新的聲明方式用來(lái)讓開(kāi)發(fā)者能夠更好的控制變量的作用域我們通過(guò)聲明的變量,無(wú)論其聲明位置在哪 塊級(jí)作用域綁定 1.變量聲明 JS的變量聲明與其他的一些計(jì)算機(jī)語(yǔ)言不同,在類(lèi)C的語(yǔ)言中,變量總是在被聲明的地方創(chuàng)建;而在JS中變量創(chuàng)建的位置取決于...
閱讀 1968·2021-11-22 15:25
閱讀 1316·2021-11-19 09:40
閱讀 1960·2021-09-27 13:57
閱讀 1068·2021-09-22 15:10
閱讀 1042·2021-08-16 11:01
閱讀 3035·2021-07-23 17:51
閱讀 827·2019-08-30 15:55
閱讀 887·2019-08-30 13:58