這篇文章為大家帶來了關於JavaScript中基本資料類型的相關知識,希望對大家有幫助。
JavaScript是弱型別腳本語言,宣告變數時無須指定變數的資料型態。 JavaScript變數的資料型別是解釋時動態決定的。但是JavaScript的值保存在記憶體中,也是資料型別的。 JavaScript基本資料型別有以下五個
(1)數值型別
(2)布林類型
(3)字串類型
(4)Undefined類型
(5 )Null型別
1. 數值型別
與強型別語言如C、#Java不同,JavaScript的數值型別不僅包含所有的整形變量,也包含所有的浮點型變數。 JavaScript語言中的數值都是以IEEE 754雙精確度浮點數格式儲存。 JavaScript中的數值情況非常豐富,完全支援以科學計數法表示。科學計數法形如5.12e2代表#5.12乘以#10的2次方,5.12E2#也代表#5.12乘以10的2#次方。
科學計數法中E為間隔符號,E不區分大小寫。
<script> // 显式声明变量a , b var a , b; // 给a , b使用科学记数法赋值,其值应该为500 a = 5E2; b = 1.23e-3; // 使用警告提示框输出变量a的值 alert(a + "\n" + b); </script>
注意:數值直接量不要以0開頭。因為JavaScript支援八進位和十六進位。八進位以0開頭,十六進位以0x或0X開頭。
當數值類型超出了其表述範圍時,將出現兩個特殊值:Infinity(正無窮大)和-Infinity(負無窮大。)
<script> // 定义x为最大的数值 var x = 1.7976931348623157e308; // 再次增加x的值 x = x + 1e292; // 使用警告框输出x的值 alert(x); </script>
字符字串型
JavaScript的子字串富川必須用引號括起來,此處的引號既可以是單引號,也可以是雙引號。
var a = "12345678912aaa"; var a = '12345678912aaa';
注意:JavaScript和Java中的字串主要有兩點差異:
- (1)JavaScript中的字串可以用單引號括起來;
- (2)JavaScript中比較兩個字串的字符序列是否相等使用== 即可,無需使用equals()方法。
JavaScript以String内建类表示字符串,String类里包含了一系列方法操作字符串,String类有如下基本方法和属性操作字符串:
(1)charCodeAt() :返回字符串中特定索引处的字符所对应的Unicode值
(2)Legth():返回字符串的长度
(3)toUpperCase() : 将stringObj中的小写字母全部转成大写字母
(4)toLowerCase() :将stringObj中的大写字母全部转成小写字母
(5)fromCharCode() :直接通过String类调用方法,将一系列Unicode值转换成字符串
(6)indexOf() :返回字符串第一次出现的位置
(7)lastIndexOf() :返回字符串最后一次出现的位置
(8)subString() :截取stringObj从start开始,至end为止之前的所有字符,即包括start处的字符,但不包含end处的字符
(9)slice() :截取stringObj从start开始,到end为止之前的所有字符;即包括start处的字符,但不包括end处的字符。start与end均可为负值,当为负值时,表示从最后一个字符算起的第n个字符,比如-1表示最后一个字符,-2表示倒数第二个字符。
(10)match() :在字符串内检索指定的正则表达式的匹配结果,该结果与regexp是否有指定全局标志g有关
(11)split() :将separtor为为分隔,将stringObj分割成一个字符串数组。separator可以是字符串或者正则表达式,若为字符串,则以separator为分割符;弱separator为正则表达式,则以符合separator指定模式的字符串作为分隔符。
(12)replace() :将字符串中某个子串以特定字符串替代。
<script> // 定义字符串变量a var a = "abc中国"; // 获取a的长度 var b = a.length; // 将系列的Unicode值转换成字符串 var c = String.fromCharCode(97,98,99); // 输出a的长度,以及字符串a在索引4处的字符和 // 对应的Unicode值,以及c字符串变量的值 alert(b + "---" + a.charAt(4) + "---" + a.charCodeAt(4) + "---" + c); </script>
下面是一些常用的转义字符
序 |
转义字符 |
使用说明 |
---|---|---|
0 |
|
NUL 字符(\u0000) |
1 |
\b |
后退一格(Backspace)退格符(\u0008) |
2 |
\f |
换页(Form Feed)(\u000C) |
3 |
\n |
换行(New Line)(\u000A) |
4 |
\r |
回车(Carriage Return)( \u000D) |
5 |
\t |
製表(Tab)水平製表符(\u0009) |
6 |
\' |
#單引號(\u0027) |
7 |
\" |
#雙引號(\u0022) |
8 |
\\ |
#反斜線(Backslash)(\u005C) |
#9 |
\v |
#垂直製表符(\u000B) |
10 |
\xNN |
由兩位十六進位數值NN指定的Latin-1字元 |
11 |
#\uNNNNN |
由四位元十六進位數 NNNN指定的Unicode字元 |
12 |
#\NNN |
由一位到三位元八進位數(1到377)指定的Latin-1字元。 ECMAScript v3不支持,不要使用這種轉義序列 |
3. 布尔类型
布尔类型的值只有两个:true和false。布尔类型的值通常是逻辑运算的结果,或用于标志对象的某种状态。
<script> // 如果浏览器支持Cookie if (navigator.cookieEnabled) { alert("浏览器允许使用Cookie"); } // 如果浏览器不支持Cookie else { alert("浏览器禁用Cookie"); } </script>
4. Undefined 和 null
Undefined类型的值只有一个undefined,该值用于表示某个变量不存在,或者没有为其分配值,也用于表示对象的属性不存在。null用于表示变量的值为空。Undefined与null之间的差别比较微妙,总体而言,undefined表示没有为变量设置值或属性不存在,而null表示变量是有值的,只是为其值为null。
但如果不进行精确比较,很多时候undefined和null本身就想等,即null==undefined将返回true。如果要精确区分null和undefined,应该考虑使用精确等于符(===)
<script> // 声明变量x , y var x , y = null; // 判断x的值是否为空 if (x === undefined) { alert('声明变量后默认值为undefined'); } if (x === null) { alert('声明变量后默认值为null'); } // 判断x(其值为undefined)是否与y(其值为null)相等 if (x == y) { alert("x(undefined)==y(null)"); } // 测试一个并不存在的属性 if(String.xyz === undefined) { alert("不存在的属性值默认为undefined"); } </script>
5. 正则表达式
正则表达式的本质是一种特殊的字符串,这种特殊字符允许使用“通配符”,因此一个正则表达式字符串可以匹配一批普通字符串。
元字符 名称 匹配对象
. 点号 单个任意字符(除回车\r、换行\n、行分隔符\u2028和段分隔符\u2029外)
[] 字符组 列出的单个任意字符
[^] 排除型字符组 未列出的单个任意字符
? 问号 匹配0次或1次
* 星号 匹配0交或多次
+ 加号 匹配1次或多次
{min,max} 区间量词 匹配至少min次,最多max次
^ 脱字符 行的起始位置
$ 美元符 行的结束位置
| 竖线 分隔两边的任意一个表达式
() 括号 限制多选结构的范围,标注量词作用的元素,为反向引用捕获文本
\1,\2... 反向引用 匹配之前的第一、第二...组括号内的表达式匹配的文本
\0 NUL字符\u0000 [\b] 匹配退格符\u0008,不要与\b混淆 \t 制表符\u0009 \n 换行符\u000A \v 垂直制表符\u000B \f 换页符\u000C \r 回车符\u000D \xnn 由十六进制数nn指定的拉丁字符 \uxxxx 由十六进制数xxxx指定的Unicode字符(\u4e00-\u9fa5代表中文) \cX 控制字符^X,表示ctrl-[X],其中的X是A-Z之中任一个英文字母,用来匹配控制字符
{n} 匹配n次 {n,m} 匹配至少n次,最多m次 {n,} 匹配至少n次 ? 相当于{0,1} * 相当于{0,} + 相当于{1,}
【相关推荐:javascript学习教程】
以上是你必須了解的JavaScript基本資料類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了React中的使用效應,這是一種用於管理副作用的鉤子,例如數據獲取和功能組件中的DOM操縱。它解釋了用法,常見的副作用和清理,以防止記憶洩漏等問題。

JavaScript中的高階功能通過抽象,常見模式和優化技術增強代碼簡潔性,可重複性,模塊化和性能。

本文討論了JavaScript中的咖哩,這是一種將多重題材函數轉換為單詞彙函數序列的技術。它探討了咖哩的實施,諸如部分應用和實際用途之類的好處,增強代碼閱讀

文章討論了使用Connect()將React組件連接到Redux Store,解釋了MapStateToprops,MapDispatchToprops和性能影響。

本文解釋了React中的UseContext,該文章通過避免道具鑽探簡化了狀態管理。它討論了通過減少的重新租賃者進行集中國家和績效改善之類的好處。

文章討論了使用DestrestDefault()方法在事件處理程序中預防默認行為,其好處(例如增強的用戶體驗)以及諸如可訪問性問題之類的潛在問題。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。