JavaScript数据类型

Posted 橘猫吃不胖~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript数据类型相关的知识,希望对你有一定的参考价值。

1 变量的数据类型

JavaScript是一种弱类型语言,不用提前声明变量的数据类型。在程序运行过程中,变量的数据类型会被自动确定。
强类型语言:如:Java、C
弱类型语言:如:JavaScript

2 数据类型分类

JavaScript中的数据类型分为两大类,基本数据类型复杂数据类型(也称为引用数据类型)

3 数字型

JavaScript中的数字型可以用来保存整数或浮点数(小数)。

var age = 18; // 整数
var pi = 3.14; // 浮点数(小数)

常见的进制:
八进制数:在数字开头加上0,八进制数由0~7组成,逢8进位
十进制数:是组成以10为基础的数字系统,有0~9组成,逢10进位
十六进制数:在数字开头加上0x,十六进制数由0 ~ 9,a ~ f组成

范围:数字型的最大值和最小值:
最大值:Number.MAX_VALUE,输出结果:1.7976931348623157e+308
最小值:Number.MIN_VALUE,输出结果:5e-324

数字型的3个特殊值:Infinity和- Infinity 和NaN,举例:
Infinity(无穷大) :如Number.MAX_VALUE2
-Infinity(无穷小) :如-Number.MAX_VALUE
2
NaN(非数值): 如’abc’ – 100
isNaN:用来判断一个变量是否为非数字的类型,返回值为true表示非数字,false表示是数字

4 字符串型

字符串是指计算机中用于表示文本的一系列字符,在JavaScript中使用单引号或双引号来包裹字符串。

var str1 = '单引号字符串';
var str2 = "双引号字符串";

4.1 单、双引号嵌套:

在单引号字符串中可以直接书写双引号
在双引号字符串中也可以直接书写单引号

var str1 = 'I am a "programmer"';
var str2 = "I'm a 'programmer'";

将以上语句输出,结果如下:

错误用法:

var str1 = 'I'm a programmer'; // 单引号错误用法
var str2 = "I'm a "programmer""; // 双引号错误用法
var str3 = 'I am a programmer";	// 单双引号混用

4.2 转义符

转义符:在字符串中使用换行、Tab等特殊符号时,可以用转义符来进行转义,转义符以“\\”开始。常见转义符见下表。

转义符解释说明
\\’单引号
\\"双引号
\\nLF换行,n表示newline
\\v跳格(Tab、水平)
\\tTab符号
\\rCR换行
/f换页
\\\\反斜线(\\)
\\b退格,b表示blank
\\0Null字节
xhh由2位十六进制数字hh表示的ISO-8859-1字符。如“\\x61”表示“a”
\\uhhhh由4位十六进制数字hhhh表示的Unicode字符。如“\\u597d”表示“好”

4.3 字符串长度

字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的length属性可以获取整个字符串的长度。

var str1 = 'I\\'m a programmer';
console.log(str1.length); // 获取str1的长度

结果为16

4.4 访问字符串中的字符

字符串可以使用“[index]”语法按照index(索引)访问字符,index从0开始,一直到字符串的长度减1,如果超过了index最大值,会返回undefined。

var str = 'I\\'m a programmer';
console.log(str[0]);    // 输出结果:I
console.log(str[1]);    // 输出结果:'
console.log(str[15]);   // 输出结果:r
console.log(str[16]);   // 输出结果:undefined

4.5 字符串拼接

多个字符串之间可以使用“+”进行拼接,如果数据类型不同,拼接前会把其他类型转成字符串,再拼接成一个新的字符串。

var str = 'I\\'m a programmer';
console.log('a' + 'b');   // ab
console.log('a' + 18);    // a18
console.log('_' + true);  // _true
console.log('12' + 14);   // 1214
console.log(12 + 14);     // 两个数字相加,结果为26

4.6 “显示年龄”案例

弹出一个输入框,让用户输入年龄。输入后,单击“确定”按钮,程序弹出来一个警告框,显示内容为“您今年x岁了”,x表示刚才输入的年龄。

var age = prompt('请输入您的年龄'); // 弹出一个输入框,让用户输入年龄
var msg = '您今年' + age + '岁了'; // 将年龄与输出的字符串拼接
alert(msg);// 弹出警告框,输出程序的处理结果


5 布尔型

布尔型通常用于逻辑判断,它有两个值:true和false,表示事物的“真”和“假”,其中true的值为1,false的值为0。

console.log(true); // 输出结果:true
console.log(false);	// 输出结果:false
console.log(true + 1); // 输出结果:2
console.log(false + 1);	// 输出结果:1

6 undefined和null

如果一个变量声明后没有赋值,则变量的值就是undefined。下面通过代码演示undefined的使用。

console.log(true);	// 输出结果:true
var a;
console.log(a);	// 输出结果:undefined
console.log(a + '_'); // 输出结果:undefined_(字符串型)
console.log(a + 1);	// 输出结果:NaN


当然也可以给一个变量赋一个null值,下面通过代码演示null值的使用。

var b = null;
console.log(b + '_');	// 输出结果:null_(字符串型)
console.log(b + 1);     // 输出结果:1(b转换为0)
console.log(b + true);  // 输出结果:1(b转换为0,true转换为1)

7 数据类型检测

可以利用typeof运算符进行数据类型检测。

console.log(typeof 12);	   // 输出结果:number
console.log(typeof null);  // 输出结果:object
var a = '12';
console.log(typeof a == 'string');  // 输出结果:true


字面量,简单来说,就是用字面量来表示如何在代码中表达这个值,通过字面量,我们可以很容易地看出来它是哪种类型的值。例如数字字面量:7、8;布尔字面量:true、false等。

以上是关于JavaScript数据类型的主要内容,如果未能解决你的问题,请参考以下文章

16个必备的JavaScript代码片段

几个有用的JavaScript/jQuery代码片段(转)

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

vs code 自定义代码片段

30秒就能看懂的JavaScript 代码片段