玩遊戲不如學js之聲明篇

剛剛玩了一把遊戲,久久不能平復,寫一篇睡前博客平復一下。

從今天開始整理關於Js的相關知識,

首先如何聲明一個變量

var name="輔助零槓十八";

聲明一個變量就是如此的簡單,講完了。

當然這也算聲明一個變量了,但是nononon,我們還要知道的更多。

js中的三種聲明方式:

var  

let

const

var可以聲明全局變量也可以聲明局部變量,let,聲明塊作用域的變量,const,常量。

首先提一下var變量的特點之一:

變量提升

何爲變量提升,舉個例子

console.log(a); 未聲明之前
var a;
console.log(a); 聲明之後

簡單來說就是var可以先使用後聲明,js代碼第一次預編譯時會將讀到的如var的全局變量先進性緩存,此即爲變量提升,而let和const則都不可以,必須是先聲明後使用。

並且const用於聲明一個或多個常量,聲明時必須進行初始化,且初始化後值不可再修改

// 錯誤寫法
const PI;
PI = 3.14159265359;

// 正確寫法
const PI = 3.14159265359;

var和let的循環作用域問題

var i = 5;
for (var i = 0; i < 10; i++) {
    // 一些代碼...
}
// 這裏輸出 i 爲 10
let i = 5;
for (let i = 0; i < 10; i++) {
    // 一些代碼...
}
// 這裏輸出 i 爲 5

第一個比較好理解,var是全局變量。最後經過循環輸出10
第二個代碼let i=5是for外的一個局部變量,for內又一個局部變量,最後經過累加到10,但是最後在for外輸出的還是外部i,故此處爲5.

發佈了142 篇原創文章 · 獲贊 42 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章