JS中var let聲明范圍區(qū)別詳解
更新時間:2023年07月13日 09:01:49 作者:土豆
這篇文章主要為大家介紹了JS中var let聲明范圍區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
var聲明提升
console.log(name) //土豆 var name = '土豆';
使用var
聲明的變量會自動提升到函數(shù)作用域的頂部
function foo(){ console.log(name); var name = "土豆"; } foo() //undefined //等價于 function foo(){ var name; console.log(name); name = "土豆"; } foo(); //undefined
console.log(name) //ReferenceError name沒有被定義 let name ="土豆";
而使用let
定義的name
不會被提升,報出ReferenceError
的錯誤;
var可以重復聲明同一個變量
var name = "番茄"; var name = "西瓜"; var name = "土豆"; console.log(name);//土豆
而使用let重復聲明同一個變量會報錯。
var name = "土豆"; let name = "土豆"; console.log(name);//'name' has already been declared
let name = "土豆"; var name = "土豆"; console.log(name);//Cannot redeclare block-scoped variable 'name'.
var全局聲明
var name = "土豆"; console.log(window.name);//土豆 let age = "24"; console.log(window.age); //undefined
使用var
定義的變量會被掛載到window上,成為window對象的屬性,而使用let不會。
作用域
if(true){ var name = "土豆"; console.log(name); } console.log(name); //土豆 //土豆 if(true){ let age = 24; console.log(age); } console.log(age); //24 //undefined
使用var
聲明的范圍是函數(shù)作用域,使用let
聲明的范圍是塊作用域。
以上就是JS中var let聲明范圍區(qū)別詳解的詳細內(nèi)容,更多關于JS var let聲明范圍區(qū)別的資料請關注腳本之家其它相關文章!
相關文章
js實現(xiàn)html table 行,列鎖定的簡單實例
下面小編就為大家?guī)硪黄猨s實現(xiàn)html table 行,列鎖定的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10