let和var:let和var
1.var定義變數,沒有塊的概念,可以跨塊訪問,不能跨函式訪問,不初始化出現undefined,不會報錯。
2.let定義變數,只能在塊作用域裡訪問,也不能跨函式訪問,對函式外部無影響。
3.const定義常量,只能在塊作用域裡訪問,也不能跨函式訪問,使用時必須初始化(即必須賦值),而且不能修改(指向的物件,即記憶體位址不能修改,但是能修改裡面的屬性)
附:其他概念
塊級作用域
(1)塊作用域由 包括,if語句和for語句裡面的也屬於塊作用域,while等迴圈語句
(2)es6:塊級作用域 es5:函式、全域性作用域、eval
var content="疑是地上霜"
//記得大括號裡面不能使用var,不然不會形成作用域
宣告提公升
a=1;
var b=1
//等於
obj.gender = '男';
console.log(obj);
//一旦用const修飾,則記憶體位址就不能更改
}
解決方法(1)for迴圈用let
;}
}
(2)採用閉包(閉包問題:
var btns = document.getelementsbytagname('button');
for (var i = 0; i < btns.length; i++) ;
})(i)
}
//形成塊級作用域
前端面試題
sprites是什麼和為什麼要使用他們?css 精靈 把一堆小的整合到一張大的上,減輕伺服器對的請求數量 有可能替代sprites的方法是什麼?svg圖示,字型圖示,字元編碼等等。1 在div排版的時候,假設現在是100px的寬,我在盒子左側用padding left留個10px的白,div就撐開了...
前端面試題
行內元素有哪些?塊級元素有哪些?空 void 元素有哪些?link和 import的區別是?常見相容性問題?含移動端 html5的離線儲存?描寫一段語義化的html 吧 html5的form如何關閉自動完成功能?什麼是閉包 closure 為什麼要用?localstorage和sessionstor...
前端面試題
朋友碰到的筆試題,在此記錄一下,並且記下碰到的有難點但是自己沒注意的到的面試題!function isnumber x else sum 2,3 5 sum 2 3 5 請寫出sum函式的具體實現。function sum a,c return a c 該題考查的是乙個以前沒接觸過的東西,叫做柯里化...