JavaScript数据类型

202 阅读5分钟

二、JavaScript数据类型

2.1 Number类型

JavaScript中,Number类型用于表示数字,可以是整数、浮点数或特殊值(如NaNInfinity)。以下是关于Number类型的详细介绍:

  1. 数字表示

JavaScript中的Number类型采用双精度64位格式(符合IEEE 754标准),可以表示的范围非常大。

let integer = 42;            // 整数
let float = 3.14;           // 浮点数
let negative = -7;          // 负数
  1. 特殊值
  • 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
    
  1. 数字转换

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
    
  1. 数学运算

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
  1. 数学对象

JavaScriptMath对象提供了一些常用的数学常量和函数,如求绝对值、取整、开方、取最小值、取最大值等。

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 之间的随机数
  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类型的详细介绍:

  1. 字符串的定义
  • 使用单引号或双引号:

    let singleQuoted = 'Hello, World!';
    let doubleQuoted = "Hello, World!";
    
  • 使用反引号(模板字面量),允许多行字符串和字符串插值:

    let templateLiteral = `Hello, World!`;
    
  1. 字符串的操作

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"
    
  1. 字符串方法

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?"
    
  1. 模板字面量

使用反引号可以进行更复杂的字符串操作,如多行字符串和插值:

let name = "Alice";
let greeting = `Hello, ${name}!`; // 字符串插值
console.log(greeting); // 输出: "Hello, Alice!"
  1. 字符串的不可变性

字符串是不可变的,这意味着一旦创建,字符串的内容就不能被修改。对字符串的任何操作都将返回一个新的字符串。

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类型的详细介绍:

  1. 布尔值的定义

布尔值可以直接定义,也可以通过表达式计算得到:

let isActive = true;
let isFinished = false;
  1. 布尔值的使用

布尔值通常用于条件语句和逻辑运算:

  • 条件语句

    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
    
  1. 布尔类型的转换

其他数据类型可以转换为布尔值,这个过程称为“类型转换”。以下是一些常见的转换规则:

  • 真值(truthy) :以下值会被转换为true

    • 非零数字(如1-1
    • 非空字符串(如"hello"
    • 对象和数组(如{}[](注意)
    • Infinity-Infinity
  • 假值(falsy) :以下值会被转换为false

    • 0
    • ""(空字符串)
    • null
    • undefined
    • NaN

使用Boolean()函数可以显式地将其他类型转换为布尔值:

console.log(Boolean(1));         // 输出: true
console.log(Boolean(0));         // 输出: false
console.log(Boolean("hello"));   // 输出: true
console.log(Boolean(""));        // 输出: false
  1. 布尔运算

JavaScript中,布尔运算常用于条件判断和控制流,例如在if语句和while循环中:

let count = 5;
while (count > 0) {
    console.log(count);
    count--;
}

总结:Boolean类型是JavaScript中用于表示真值和假值的基本类型,广泛应用于条件判断和逻辑运算

欲知后事如何,且听下回分解...