JS 作為弱類型的編程語言, 在聲明變量時,統(tǒng)一使用 var、const、或者let關(guān)鍵字。但是每個變量都有一個隱式的數(shù)據(jù)類型。
數(shù)據(jù)類型檢測
使用 typeof 關(guān)鍵字可以檢測數(shù)據(jù)類型。
<script>
// 檢測數(shù)字類型
console.log(typeof(3));
</script>
Number 數(shù)字類型
- 整形、浮點型在內(nèi)的所有數(shù)字,都是數(shù)字類型。
typeof 5
typeof 15.1
- 浮點數(shù)如果整數(shù)部分是0,可以省略。
.3
typeof .3
- 數(shù)字可以使用科學計數(shù)法表示。
2e4 // 20000
typeof 2e4;
2e-4; //0.0002
typeof 2e-4
NaN
NaN 代表運算結(jié)果不是一個數(shù)字。
- 特殊的數(shù)值型類型, 表示不是一個數(shù)字,但是此值的類型卻是一個數(shù)值類型。
// 輸出Number
typeof NaN
- 在數(shù)學運算中,若數(shù)字類型的運算不能得到數(shù)字,其結(jié)果往往都是NaN。
// 輸出 NaN
1/Boolean
- NaN 不自等 ,即NaN不等于NaN。
// 輸出 false
NaN == NaN
字符串類型
由引號包裹的(可以是單引號也可是雙引號)若干個字符組成的集合就是字符串。字符串通常表示一段文字。
特性
-
-
加號可以拼接多個字符串。
<script> var a = 'hello'; var b = ' workd'; console.log(a + b); </script>
-
- 模板字符串,用反引號表示。可以嵌入變量,在運行時會被解析替換。
var a = 'halou';
// 輸出 heihe halou world
console.log(`heihe ${a} world`)
- 空字符串, 引號當中沒有任何值。
console.log('');
- 字符串屬性 length ,表示字符串的長度。
var a = 'woshi';
console.log(a.length);
常用方法
-
charAt()
獲取指定位置字符,傳入字符串索引位置,找到對應(yīng)字符;傳入超過字符串長度的索引返回空字符串。
<script>
var a = 'hello';
console.log(a.charAt(1));
</script>
-
substring(indexA, indexB)
提取子串, 如果 indexA > indexB , 則取子串 [indexA, indexB);
如果參數(shù) indexB > indexA ,則取子串 [indedB, indexA) ;
如果省略第二個參數(shù),表示截取到字符串結(jié)尾。
<script>
var str = 'halouworld';
// 輸出 al
console.log(str.substring(1, 3));
// 輸出 al
console.log(str.substring(3, 1));
// 從下標位置3開始截取到結(jié)尾
console.log(str.substring(3));
</script>
-
substr(index, length)
提取子串, 從第一個參數(shù)index索引位置開始, 長度為 length 的子串;
length 參數(shù)可以省略, 表示到字符串結(jié)尾;
index 可以為負數(shù) ,表示倒數(shù)位置(字符串右邊第一個值的下標為 -1 ,依次為 -1 , -2 ….)。
```
<script>
var str = 'wearehuman';
// 輸出weare
console.log(str.substr(0, 5));
// 輸出 wearehuman
console.log(str.substr(0));
// 輸出 hum , index 雖然可以為負數(shù), 但是還是字符串的左邊向右崛起
console.log(str.substr(-5, 3));
</script>
```
-
slice(indexA, indexB)
提取子串(切片), [indexA, indexB) ;
indexB 可以省略, 表示到字符串結(jié)尾;
indexA 參數(shù)也可以為負數(shù), 類似 substr 函數(shù);
參數(shù)indexA 必須小于 indexB。
<script> var str = 'wearehuman'; // ea console.log(str.slice(1, 3)); // earehuman console.log(str.slice(1)); // a console.log(str.slice(-2, -1)); // 當 indexA 小于 indexB 時, 輸出空字符 console.log(str.slice(2, 1)); </script>
-
toUppderCase
將字符串變?yōu)榇髮憽?/p>
<script> var str = 'wearehuman'; // 輸出 WEAREHMMAN console.log(str.toLocaleUpperCase()); </script>
-
toLowerCase
將字符轉(zhuǎn)成小寫字母。
<script> var str = 'weareHMman'; // 輸出 wearehuman console.log(str.toLowerCase()); </script>
常用函數(shù)總結(jié)
方法 | 功能 |
---|---|
charAt() | 獲取指定位置字符,傳入字符串索引位置,找到字符;傳入超過字符串長度的索引返回空字符串。 |
substring(indexA,indexB) | 提取子串, 如果 indexA > indexB , 則取子串 [indexA, indexB);如果參數(shù) indexB > indexA ,則取子串 [indedB, indexA) ;如果省略第二個參數(shù),表示截取到字符串結(jié)尾。 |
substr(a,b) | 提取子串, 從第一個參數(shù)index索引位置開始, 長度為 length 子串;length 參數(shù)可以省略, 表示到字符串結(jié)尾;index 可以為負數(shù) ,表示倒數(shù)位置(字符串右邊第一個值的下標為 -1 ,依次為 -1 , -2 ….)。 |
slice(a, b) | 提取子串(切片), [indexA, indexB) ;indexB 可以省略, 表示到字符串結(jié)尾;indexA 參數(shù)也可以為負數(shù), 類似 substr 函數(shù);參數(shù)indexA 必須小于 indexB |
toUppderCase() | 將字符串變?yōu)榇髮?/td> |
toLowerCase() | 將字符串變?yōu)樾?/td> |
indexOf() | 檢索字符串首次出現(xiàn)的位置,如果檢索不到, 返回-1 |
布爾類型
布爾值只有兩個 ,true(真)和false(假)
<script>
var bool = (10 > 20);
// 輸出 true
console.log(bool);
// 輸出 boolean
console.log(typeof bool);
</script>
undefined
主打一個未定義, 一個沒有經(jīng)過初始化的變量,默認值是 undefined 。默認值 undefined ?指向的數(shù)據(jù)類型 也叫 undefined ?。
<script>
var undi ;
// 輸出 undefined
console.log(undi);
// 輸出 undefined
console.log(typeof undi);
</script>
null
表示被置空的對象, 如果一個對象在經(jīng)過運算后, 沒有得到任何值, 那么就可以賦值為null。
不過 null 用 typeof 檢測 得到 的卻是 object 類型 。null 既是一種數(shù)據(jù)類型,但它的類型卻是object 不知道在搞啥子
<script>
var emp = null ;
// 輸出 null
console.log(emp);
// 輸出 類型object
console.log(typeof emp);
</script>
總結(jié)
在js中還有很多復(fù)雜的類型, 例如 function, object , 這些預(yù)計會留到后面寫。文章來源:http://www.zghlxwxcb.cn/news/detail-695037.html
以下是本文中涉及的數(shù)據(jù)類型。文章來源地址http://www.zghlxwxcb.cn/news/detail-695037.html
數(shù)據(jù)類型 | 備注 | typeof 檢測 | 舉例 |
---|---|---|---|
number | 數(shù)字 | number | var a = 1 |
string | 字符串 | string | var b = ‘a(chǎn)aa’ |
boolean | 布爾 | boolean | var a = true |
undefined | 未定義 | undefined | var bool = undefined |
null | 被置空的對象 | null | var emp = null |
到了這里,關(guān)于JS基礎(chǔ)-數(shù)據(jù)類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!