一、定義變量
????變量的作用就是存儲獲取的元素或用來賦值,方便在代碼中使用
1.ES5
? ? var關鍵字
????????<div id="wrap"></div>
????????<script>
????????????????var oWrap = document.getElementById("wrap")
????????</script>
1.起名規(guī)則
? ? (1)見名知意
? ? ? ? ? ? ?駝峰命名????????oWrap?object?wrap
????????????????????????????????????aWrao?array?wrap
????????????不能使用關鍵字?保留字
? ? (2)去掉關鍵字var?(未聲明)
????????????????????1)不賦值的情況下是not?defind
????????????????????2)賦值的情況下是沒問題的
? ? (3)會泄露
? ? ? ? ? ? ? ? ?var?聲明的變量會泄露到window的頂層對象環(huán)境
? ? (4)var?聲明的變量可以重復聲明
? ? (5)變量提升?先使用再聲明
注意:var聲明的變量會被提到的三條規(guī)則
????1.不要把var語句放在代碼塊中
? ? 2.不要把var語句防在循環(huán)語句中
? ? 3.每個函數(shù)都使用單一的var語句
2.ES6
??? 聲明變量:let
????????為了解決ES5的var關鍵字帶來的各種問題,ES6提出新的變量聲明關鍵字
????<script>
????????let aaa = 123
????????console.log(aaa)
????</script>
????????????????????1.let聲明的變量在同一作用域里面不能重復使用
????????????????????2.let聲明的變量在同一作用域里面不能用var聲明
????????????????????3.let聲明的變量不會泄露到頂層對象
????????????????????4.let聲明的變量沒有變量提升,必須先聲明再使用
????????????????????5.let聲明的變量值在同一個作用域可修改,其它作用域修改變量值不會影響此作用域的變量值
? ? 聲明常量:const? (是不能發(fā)生更改的)
? ??<script>
????????const aaa = 123
????????console.log(aaa++)
????</script>
????????????特性和let一模一樣