---恢復內容開始---spa
變量:所謂變量就是裏面儲存數據是能夠改變的。code
變量聲明的關鍵詞:var let const(在不少地方爲常量,但實際上是變量,不可重複改變的變量)。blog
var i ;//變量名 let j ;
若是聲明變量沒有賦值,則該變量默認值爲undefined(未定義)。作用域
let i ; console.log(i);//undefined
b變量的第一賦值爲變量的初始化;console
let i ; i= 5; console.log(i);//輸出值爲5
變量的聲明和初始化是能夠同時進行的.class
let i =5; console.log(i);//5
重複聲明:若是是var來聲明變量,是能夠重複聲明的,ES裏面不會報錯。效率
若是重複聲明變量的時候,只是聲明而沒有賦值,那麼解釋器會忽略這一條聲明變量
let i =5; let i =10; console.log(i);//輸出爲10, let j 6; let j ;//這一步因爲沒有賦值,因此會被忽略的 console.log(j);
遺漏聲明: 所謂遺漏聲明,就是指沒有對變量進行聲明,可是就直接拿來用。嚴格模式下不支持遺漏聲明,而且也不要這樣書寫。數據類型
i=5 ; console.log(i);
因爲JS是一門解釋性語言,因此在JS裏面,全部的變量均可以用var let const來進行聲明。引用
雖然能夠將任意數據類型存儲至同一個變量,可是不推薦這麼作。由於這樣會影響解析的效率。
變量提高(重要)
之因此如今不推薦使用var來聲明變量,就是由於var申明的變量會有一個變量提高。
所謂變量提高:就是指將變量的聲明提高至當前做用域的頂部
console.log(i);//undefined var i =; //等價於 // var i; //console.log(i); //i =5;
使用let或者const聲明的變量就不存在變量提高,以下:
console.log(i); let i = 5;//報錯
Var聲明的變量不存在塊級做用域
塊級做用域就是一對大括號裏面會產生一個單獨的做用域
{ var i=5 ; console.log(i); //5 } console.log(i); //5
Let和const就擁有塊級做用域
{ let i =5; console.log(i); //5 } console.log(i); //報錯
const i =5 ; console.log(i); //5 i =10 ; //報錯 console.log(i);
JS裏面的數據類型(很是重要)
JS裏面的數據類型能夠分爲兩大類:基本數據類型 和 引用數據類型
基本數據類型就是指最簡單的數據段,不可拆分的
引用數據類型是指有多個基本數據類型組成的數據,是能夠被拆分的。
常見的基本數據類型:Number,String,Boolean,Null,Undefiend,Symbol
常見的引用數據類型:Array Object
基本數據類型和引用數據類型的區別:
基本數據類型中,若是使用或者複製一個變量,那麼是複製的值,而在引用數據類型中,若是使用或者複製一個變量,是複製的引用
簡單數據類型示例:
let i =5; let j =i; onsole.log(i); //5 console.log(j); //5 j =100; consloe.log(i); //5 console.log(j); //100
---恢復內容結束---
變量:所謂變量就是裏面儲存數據是能夠改變的。
變量聲明的關鍵詞:var let const(在不少地方爲常量,但實際上是變量,不可重複改變的變量)。
var i ;//變量名 let j ;
若是聲明變量沒有賦值,則該變量默認值爲undefined(未定義)。
let i ; console.log(i);//undefined
b變量的第一賦值爲變量的初始化;
let i ; i= 5; console.log(i);//輸出值爲5
變量的聲明和初始化是能夠同時進行的.
let i =5; console.log(i);//5
重複聲明:若是是var來聲明變量,是能夠重複聲明的,ES裏面不會報錯。
若是重複聲明變量的時候,只是聲明而沒有賦值,那麼解釋器會忽略這一條聲明
let i =5; let i =10; console.log(i);//輸出爲10, let j 6; let j ;//這一步因爲沒有賦值,因此會被忽略的 console.log(j);
遺漏聲明: 所謂遺漏聲明,就是指沒有對變量進行聲明,可是就直接拿來用。嚴格模式下不支持遺漏聲明,而且也不要這樣書寫。
i=5 ; console.log(i);
因爲JS是一門解釋性語言,因此在JS裏面,全部的變量均可以用var let const來進行聲明。
雖然能夠將任意數據類型存儲至同一個變量,可是不推薦這麼作。由於這樣會影響解析的效率。
變量提高(重要)
之因此如今不推薦使用var來聲明變量,就是由於var申明的變量會有一個變量提高。
所謂變量提高:就是指將變量的聲明提高至當前做用域的頂部
console.log(i);//undefined var i =; //等價於 // var i; //console.log(i); //i =5;
使用let或者const聲明的變量就不存在變量提高,以下:
console.log(i); let i = 5;//報錯
Var聲明的變量不存在塊級做用域
塊級做用域就是一對大括號裏面會產生一個單獨的做用域
{ var i=5 ; console.log(i); //5 } console.log(i); //5
Let和const就擁有塊級做用域
{ let i =5; console.log(i); //5 } console.log(i); //報錯
const i =5 ; console.log(i); //5 i =10 ; //報錯 console.log(i);
JS裏面的數據類型(很是重要)
JS裏面的數據類型能夠分爲兩大類:基本數據類型 和 引用數據類型
基本數據類型就是指最簡單的數據段,不可拆分的
引用數據類型是指有多個基本數據類型組成的數據,是能夠被拆分的。
常見的基本數據類型:Number,String,Boolean,Null,Undefiend,Symbol
常見的引用數據類型:Array Object
基本數據類型和引用數據類型的區別:
基本數據類型中,若是使用或者複製一個變量,那麼是複製的值,而在引用數據類型中,若是使用或者複製一個變量,是複製的引用
簡單數據類型示例:
let i =5; let j =i; onsole.log(i); //5 console.log(j); //5 j =100; consloe.log(i); //5 console.log(j); //100