JavaScript 基礎(chǔ)語法 02
在 JavaScript 中定義變量的時候使用的是 let/var,例如:
let num = 18
let str = '18'
這兩種方式定義的變量有什么區(qū)別呢?這里定義的兩個變量 num 和 str 的數(shù)據(jù)類型不同。例如:描述年齡和工資通過數(shù)字來描述,注冊某個網(wǎng)站的時候使用的賬號和昵稱可以是英文字母的組合。不同的數(shù)據(jù)是由不同的類型來描述的。
下面我們就開始學(xué)習(xí) JavaScript 中的數(shù)據(jù)類型。
JavaScript 中的數(shù)據(jù)類型可以分為兩大類:基本數(shù)據(jù)類型、復(fù)雜數(shù)據(jù)類型。
簡單數(shù)據(jù)類型
Number
String
Boolean
null
undefined
BigInt - 新增
Symbol - 新增
復(fù)雜數(shù)據(jù)類型
Object
簡單數(shù)據(jù)類型
簡單數(shù)據(jù)類型又叫基本數(shù)據(jù)類型、原始數(shù)據(jù)類型(MDN)。
這里我們先來學(xué)習(xí)簡單數(shù)據(jù)類型中的前5種。
Number 類型
在 JavaScript 中整數(shù)(5, 6, 10)和浮點數(shù)(11.5, 1.1)都屬于 Number 類型,也就是所有的數(shù)值類型都是 Number 類型。
數(shù)值字面量
數(shù)值的固定值表示法
通俗點說就是用字面的形式來代表這種類型的數(shù)據(jù)
110、1024、60.5
數(shù)值判斷
NaN:not a number,JavaScript 中一個特殊的值,即非數(shù)字
isNaN:is not a number,JavaScript 中的一個方法用來判斷一個值是否不是數(shù)字
示例
// 返回 NaN,不是一個數(shù)字
let n = 5 * 'a';
// 返回 false,即不管帶不帶引號都是一個數(shù)字
isNaN('5');
isNaN(5);
// 返回 true,不是一個數(shù)字
isNaN('a');
注意:在控制臺中打印的數(shù)值類型的值是有顏色的。
String 類型
把多個字符組成一串,就是一個字符串。
字符串字面量:字面形式來代表字符串?dāng)?shù)據(jù)
'程序猿',"程序媛"
定義字符串的時候用單引號和雙引號都可以
let userName = 'jiaoshou';
let nickName = "教瘦";
在定義字符串的時候我們推薦使用單引號,這是因為 HTML 中屬性值使用雙引號包裹,有的時候 HTML 和 JavaScript 可能會嵌套書寫,為了區(qū)分 HTML 的屬性和 JavaScript 中的字符串,所以這里始終推薦字符串使用單引號。
轉(zhuǎn)義符
你嘗試打印 '前端老洪',注意打印的結(jié)果中要包含單引號。實現(xiàn)不了吧?這是因為引號在 JavaScript 中有特殊的含義,如果我們想要打印引號的話,可以取消引號在 JavaScript 中的特殊含義
let userName = '\'前端老洪\'';
console.log(userName);
\ 在這里的作用是取消后面修飾符號的特殊含義,類似的內(nèi)容,見下表:

Boolean 類型
布爾類型是一種專門為了編程設(shè)置的一種語法,主要用來表示一個結(jié)果的成立與否,其值只有兩個 true (真) 和 false (假)。
Boolean 字面量: true 和 false,區(qū)分大小寫
計算機(jī)內(nèi)部存儲:true 為1,false 為0
undefined 類型
undefined 類型只有一個值:undefined。代表變量定義了,但是沒有賦值。
var a;
// 輸出 undefined
console.log(a);
// or
let b;
// 輸出 undefined
console.log(b);
null 類型
null 類型只有一個值:null。代表變量賦值了,但是值代表的是空。
var a = null;
let b = null;
// 變量a和b都賦值了,值為 null
復(fù)雜數(shù)據(jù)類型
復(fù)雜數(shù)據(jù)類型:Object。因為比較復(fù)雜所以后面專門學(xué)習(xí)。
獲取變量的類型
在 JavaScript 中定義變量的時候是通過 var/let 定義的變量,也就是在定義變量的時候沒有確定數(shù)據(jù)的類型。
let a = 10;
a = 'abc';
甚至在代碼執(zhí)行的過程中可以對變量重新賦值不同的類型(這樣是不推薦的,我們希望同一個變量中的數(shù)據(jù)是同一數(shù)據(jù)類型的)。
我們?nèi)绻胍滥硞€變量中存儲的數(shù)據(jù)類型,可以通過關(guān)鍵字 typeof 來獲取。
用法:
typeof 字面量/變量
typeof (字面量/變量)
注意:typeof 是關(guān)鍵字。
let a = 10;
console.log(typeof a); // number
console.log(typeof 'Hello'); // string
console.log(typeof true); // boolean
console.log(typeof undefined); // undefined
console.log(typeof null); // object
注意:typeof 返回的結(jié)果是字符串類型。
快速查看數(shù)據(jù)類型
如何使用谷歌瀏覽器,快速地查看數(shù)據(jù)類型?
在控制臺通過 console.log() 打印數(shù)據(jù),字符串的顏色是黑色的,數(shù)值類型是藍(lán)色的,布爾類型也是紫色的,undefined 和 null 是灰色的(如果看到黑色的說明是字符串)
注釋
其實學(xué)習(xí)任何一門語言之前,最應(yīng)該先學(xué)習(xí)的語法就是注釋語法,這樣我們就可以在代碼中寫一些說明和筆記之類的 JavaScript 里面的注釋有兩種:單行注釋、多行注釋。
單行注釋
用來描述下面一個或多行代碼的作用
VSCode 中的快捷鍵:Ctrl + /
// 這是一個變量
let nickName = 'js';
多行注釋
用來注釋多條代碼
VSCode 中的快捷鍵:Shift+ Alt + A
/*
?var age = 18;
?var name = 'zs';
?console.log(name, age);
*/