二、JavaScript数据类型
2.1 Number类型
在JavaScript中,Number类型用于表示数字,可以是整数、浮点数或特殊值(如NaN和Infinity)。以下是关于Number类型的详细介绍:
- 数字表示
JavaScript中的Number类型采用双精度64位格式(符合IEEE 754标准),可以表示的范围非常大。
let integer = 42; // 整数
let float = 3.14; // 浮点数
let negative = -7; // 负数
- 特殊值
-
NaN(Not a Number):表示一个非数字的值,通常在数字运算失败时出现。let result = 0 / 0; // 结果是 NaN console.log(result); // 输出: NaN -
Infinity和-Infinity:表示正无穷大和负无穷大,通常在除以零时返回。let positiveInfinity = 1 / 0; // 结果是 Infinity let negativeInfinity = -1 / 0; // 结果是 -Infinity
- 数字转换
JavaScript提供了多种方法将其他数据类型转换为Number类型:
-
Number():将值转换为数字。let str = "123"; let num = Number(str); // 123 -
parseInt():解析字符串并返回整数。let strInt = "123abc"; let intNum = parseInt(strInt); // 123 -
parseFloat():解析字符串并返回浮点数。let strFloat = "3.14abc"; let floatNum = parseFloat(strFloat); // 3.14
- 数学运算
JavaScript提供了丰富的数学运算支持,包括加法、减法、乘法、除法和取模等。
let a = 10;
let b = 3;
console.log(a + b); // 输出: 13
console.log(a - b); // 输出: 7
console.log(a * b); // 输出: 30
console.log(a / b); // 输出: 3.333...
console.log(a % b); // 输出: 1
- 数学对象
JavaScript的Math对象提供了一些常用的数学常量和函数,如求绝对值、取整、开方、取最小值、取最大值等。
console.log(Math.abs(-5)); // 输出: 5
console.log(Math.ceil(3.14)); // 输出: 4
console.log(Math.floor(3.99)); // 输出: 3
console.log(Math.sqrt(16)); // 输出: 4
console.log(Math.random()); // 输出: 0 到 1 之间的随机数
- 精度问题
由于浮点数的表示方式,某些数字运算可能会出现精度问题。
console.log(0.1 + 0.2); // 输出: 0.30000000000000004
为了避免精度问题,可以使用toFixed()方法来格式化数字:
let result = (0.1 + 0.2).toFixed(2); // 输出: "0.30"
总结:Number类型是JavaScript中用于处理数字的基础类型,具有多种表示方式和运算能力
2.2 string类型
在JavaScript中,string类型用于表示文本数据。字符串是一系列字符的集合,可以使用单引号、双引号或反引号(模板字面量)来定义。以下是关于string类型的详细介绍:
- 字符串的定义
-
使用单引号或双引号:
let singleQuoted = 'Hello, World!'; let doubleQuoted = "Hello, World!"; -
使用反引号(模板字面量),允许多行字符串和字符串插值:
let templateLiteral = `Hello, World!`;
- 字符串的操作
JavaScript提供了多种方法来操作字符串:
-
拼接字符串:使用
+运算符将字符串连接在一起。let firstName = "Alice"; let lastName = "Johnson"; let fullName = firstName + " " + lastName; // 输出: "Alice Johnson" -
字符串长度:使用
length属性获取字符串的长度。let str = "Hello"; console.log(str.length); // 输出: 5 -
访问字符:可以使用索引访问字符串中的字符(索引从0开始)。
console.log(str[0]); // 输出: "H"
- 字符串方法
JavaScript字符串对象提供了许多内置方法:
-
toUpperCase():将字符串转换为大写。console.log(str.toUpperCase()); // 输出: "HELLO" -
toLowerCase():将字符串转换为小写。console.log(str.toLowerCase()); // 输出: "hello" -
trim():去除字符串两端的空白字符。let paddedStr = " Hello "; console.log(paddedStr.trim()); // 输出: "Hello" -
substring():提取字符串的子字符串。console.log(str.substring(1, 3)); // 输出: "el" -
split():将字符串分割成数组。let sentence = "Hello, how are you?"; let words = sentence.split(" "); // 按空格分割 console.log(words); // 输出: ["Hello,", "how", "are", "you?"] -
indexOf():查找子字符串首次出现的位置。console.log(sentence.indexOf("how")); // 输出: 7 -
replace():替换字符串中的指定内容。let newSentence = sentence.replace("Hello", "Hi"); console.log(newSentence); // 输出: "Hi, how are you?"
- 模板字面量
使用反引号可以进行更复杂的字符串操作,如多行字符串和插值:
let name = "Alice";
let greeting = `Hello, ${name}!`; // 字符串插值
console.log(greeting); // 输出: "Hello, Alice!"
- 字符串的不可变性
字符串是不可变的,这意味着一旦创建,字符串的内容就不能被修改。对字符串的任何操作都将返回一个新的字符串。
let original = "Hello";
let modified = original.replace("H", "J");
console.log(original); // 输出: "Hello"
console.log(modified); // 输出: "Jello"
总结:string类型在JavaScript中是处理文本数据的基础类型,具有多种操作和方法。
2.3 Boolean类型
在JavaScript中,Boolean类型用于表示真值和假值。它只有两个可能的值:true(真)和false(假)。以下是关于Boolean类型的详细介绍:
- 布尔值的定义
布尔值可以直接定义,也可以通过表达式计算得到:
let isActive = true;
let isFinished = false;
- 布尔值的使用
布尔值通常用于条件语句和逻辑运算:
-
条件语句:
if (isActive) { console.log("活动正在进行中"); } else { console.log("活动已结束"); } -
逻辑运算: JavaScript提供了逻辑运算符,例如
&&(与)、||(或)、!(非)。let a = true; let b = false; console.log(a && b); // 输出: false console.log(a || b); // 输出: true console.log(!a); // 输出: false
- 布尔类型的转换
其他数据类型可以转换为布尔值,这个过程称为“类型转换”。以下是一些常见的转换规则:
-
真值(truthy) :以下值会被转换为
true:- 非零数字(如
1、-1) - 非空字符串(如
"hello") - 对象和数组(如
{}、[]) (注意) Infinity和-Infinity
- 非零数字(如
-
假值(falsy) :以下值会被转换为
false:0""(空字符串)nullundefinedNaN
使用Boolean()函数可以显式地将其他类型转换为布尔值:
console.log(Boolean(1)); // 输出: true
console.log(Boolean(0)); // 输出: false
console.log(Boolean("hello")); // 输出: true
console.log(Boolean("")); // 输出: false
- 布尔运算
在JavaScript中,布尔运算常用于条件判断和控制流,例如在if语句和while循环中:
let count = 5;
while (count > 0) {
console.log(count);
count--;
}
总结:Boolean类型是JavaScript中用于表示真值和假值的基本类型,广泛应用于条件判断和逻辑运算
欲知后事如何,且听下回分解...