Artikel ini membawakan anda pengetahuan yang berkaitan tentang jenis data asas dalam JavaScript saya harap ia akan membantu anda.
JavaScript ialah bahasa skrip yang ditaip lemah Tidak perlu menentukan jenis data pembolehubah semasa mengisytiharkannya. JavaScriptJenis data pembolehubah ditentukan secara dinamik semasa tafsiran. Tetapi nilai JavaScript disimpan dalam ingatan dan juga merupakan jenis data. JavaScriptTerdapat lima jenis data asas seperti berikut
(1)Jenis angka
(2) Jenis Boolean
(3)Jenis rentetan
(4) Tidak ditentukanJenis
(5 ) Null jenis
serupa dengan bahasa yang ditaip kuat seperti C, Berbeza daripada Java, jenis berangka JavaScript bukan sahaja merangkumi semua pembolehubah integer, tetapi juga semua pembolehubah titik terapung. Nilai dalam bahasa JavaScript disimpan dalam IEEE 754 format nombor terapung berketepatan dua kali. Format berangka dalam JavaScript sangat kaya dan menyokong tatatanda saintifik sepenuhnya. Format tatatanda saintifik adalah seperti berikut: 5.12e2 mewakili 5.12 didarab dengan 102 kepada kuasa, 5.12E2 juga mewakili 5.12 kali 10 dinaikkan kepada kuasa 2.
Dalam tatatanda saintifik, E ialah simbol selang dan E tidak sensitif huruf besar-besaran.
<script type="text/javascript"> // 显式声明变量a , b var a , b; // 给a , b使用科学记数法赋值,其值应该为500 a = 5E2; b = 1.23e-3; // 使用警告提示框输出变量a的值 alert(a + "\n" + b); </script>
Nota: Huruf berangka tidak bermula dengan 0. Kerana JavaScript menyokong perlapanan dan perenambelasan. Octal bermula dengan 0 dan heksadesimal bermula dengan 0x atau 0X.
Apabila jenis angka melebihi julat perwakilannya, dua nilai khas akan muncul: Infiniti (positif Infiniti) dan -Infiniti (infiniti negatif.)
<script type="text/javascript"> // 定义x为最大的数值 var x = 1.7976931348623157e308; // 再次增加x的值 x = x + 1e292; // 使用警告框输出x的值 alert(x); </script>
var a = "12345678912aaa"; var a = '12345678912aaa';
JavaScript dan Java:
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 type="text/javascript"> // 定义字符串变量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 mendatar (u0009) |
6 |
' |
Petikan tunggal (u0027) |
7 |
" |
Petikan berganda (u0022) |
8 |
\ |
Backslash (u005C) |
9 |
v |
Tab menegak (u000B) |
10 |
xNN |
Aksara Latin-1 yang ditentukan oleh nilai perenambelasan dua digit NN |
11 |
uNNNNN |
terdiri daripada empat digit heksadesimal aksara Unikod yang ditentukan oleh NNNN |
12 |
NNN |
Dari satu hingga tiga Latin- 1 aksara ditentukan oleh nombor perlapanan (1 hingga 377). ECMAScript v3 tidak disokong, jangan gunakan urutan pelarian ini |
布尔类型的值只有两个:true和false。布尔类型的值通常是逻辑运算的结果,或用于标志对象的某种状态。
<script type="text/javascript"> // 如果浏览器支持Cookie if (navigator.cookieEnabled) { alert("浏览器允许使用Cookie"); } // 如果浏览器不支持Cookie else { alert("浏览器禁用Cookie"); } </script>
Undefined类型的值只有一个undefined,该值用于表示某个变量不存在,或者没有为其分配值,也用于表示对象的属性不存在。null用于表示变量的值为空。Undefined与null之间的差别比较微妙,总体而言,undefined表示没有为变量设置值或属性不存在,而null表示变量是有值的,只是为其值为null。
但如果不进行精确比较,很多时候undefined和null本身就想等,即null==undefined将返回true。如果要精确区分null和undefined,应该考虑使用精确等于符(===)
<script type="text/javascript"> // 声明变量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>
正则表达式的本质是一种特殊的字符串,这种特殊字符允许使用“通配符”,因此一个正则表达式字符串可以匹配一批普通字符串。
元字符 名称 匹配对象
. 点号 单个任意字符(除回车\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学习教程】
Atas ialah kandungan terperinci Jenis data asas JavaScript yang anda mesti tahu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!