重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
let 與 var 的區(qū)別在于作用域不一樣。let被用來做塊作用域,它比函數(shù)作用域要小一點(diǎn)。
如果他們兩個都沒有被定義在函數(shù)中也沒有定義在塊作用域中,那么他們就都屬于全局作用域。
創(chuàng)新互聯(lián)專注于井陘礦網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供井陘礦營銷型網(wǎng)站建設(shè),井陘礦網(wǎng)站制作、井陘礦網(wǎng)頁設(shè)計、井陘礦網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造井陘礦網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供井陘礦網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
let bar = 'hehe';
var baz = 'lala';
console.log(window.bar); //undefined
console.log(window.baz); // 'able'
函數(shù)作用域
var 和 let 在函數(shù)作用域中聲明一個變量,兩個變量的意義是相同的。
function aFun(){
let bar = 'hehe'; // 函數(shù)作用域中的變量
var baz = 'lala'; // 函數(shù)作用域中的變量
}
塊作用域
在塊作用域中兩者的區(qū)別較為明顯, let只在for()循環(huán)中可用,而 var是對于包圍for循環(huán)的整個函數(shù)可用
function aFun1(){
// i 對于for循環(huán)外的范圍是不可見的(i is not defined)
for(let i = 1; i<5; i++){
// i只有在這里是可見的
}
// i 對于for循環(huán)外的范圍是不可見的(i is not defined)
}
function aFun2(){
// i 對于for循環(huán)外的范圍是可見的
for(var i = 1;i<5; i++){
// i 在for 在整個函數(shù)體內(nèi)都是可見的
}
// i 對于for循環(huán)外的范圍是可見的
}
let 和var 重新聲明
let me = 'foo';
let me = 'bar'; //SyntaxError: Identifier 'me' has already been declared
var me = 'foo';
var me = 'bar'; //這里me被替代了,是可以重復(fù)聲明的
const hehe; //報錯,Missing initializer in const declaration
const a = 3;
a = 5; //報錯,Uncaught TypeError: Assignment to constant variable.