JavaScript 核心对象与数据类型详解

桃夭
桃夭
发布时间:2026-10-13| 5人浏览过
原创

本文深入解析 JavaScript 中级语法,涵盖对象的三种创建方式及动态修改,详细讲解数字的 IEEE 754 标准表示、进制转换,以及字符串常用 API、日期对象初始化和 RegExp 正则表达式的模式匹配实战,助开发者快速掌握 JS 核心数据结构处理方法。

结果或目标

掌握 JavaScript 中核心内置对象的操作规范,包括如何高效创建与管理对象实例,理解数字、字符串在内存中的底层表示与转换规则,以及利用正则表达式进行文本检索。

准备条件

  • 已安装 Node.js 环境或拥有现代浏览器访问权限(如 Chrome、Firefox)。
  • 具备基础的编程语言概念(变量、函数)。

真实操作顺序

第1步:创建与初始化对象

目的:熟悉 JavaScript 动态类型语言中对象的多种实例化方式。

入口/动作:

  • 使用 new 关键字:显式调用 Object 构造函数。
    // 第一种方式,直接通过new创建对象;
    var demo = new Object();
    demo.name = "Anderson";
    demo.sex = "male";
    demo.age = 23;
  • 使用字面量语法:更简洁且性能通常更高,兼容 JSON 格式。
    // 第二种格式,直接实例化,基本上和Json语法是一致的,一般作为第一种方式的替代语法。
    var demo = {name:"Anderson",sex:"male",age:25};
  • 使用自定义构造函数:适用于需要批量创建结构相似的对象实例。
    // 第三种格式,通过构造器来创建对象
    function Demo(name,sex,age){
      this.name = name;
      this.sex = sex;
      this.age = age;
    }
    var demo = new Demo("Andeson","male",25);

第2步:动态修改对象属性

目的:利用 JavaScript 的动态特性扩展对象功能。

入口/动作:创建对象后,可直接通过赋值操作添加新属性或方法,无需预先定义。

var demo = {Name:"Anderson"};
demo.Sex = "male";

第3步:处理数字对象与进制转换

目的:理解 JavaScript 统一的 64 位浮点数存储机制及数据格式化输出。

入口/动作:

  1. 数值表示:所有数字均为 float 类型,遵循 IEEE754 标准,最大值为 ±1.7976931348623157 x 10^308。
  2. 进制书写与转换:
    var demo1 = 7;    // 十进制
    var demo2 = 07;   // 八进制
    var demo3 = 0x12; // 十六进制
    
    // 转换为指定进制字符串
    var demo7 = 128;
    var demo8 = demo7.toString(16); // 结果为 '80'
    var demo9 = demo7.toString(8);  // 结果为 '200'
    var demo10= demo7.toString(2);  // 结果为 '10000000'
  3. 特殊值与类型检查:
    var demo11 = Infinity;      // 无穷大
    var demo12 = isNaN(100);     // false (100是数字)
    var demo13 = typeof(12);     // "number"
    var demo14 = typeof(new Number(12)); // "object"
    // 注意 == 会进行类型强制转换,=== 严格判断类型
    var demo15 = (demo13 == demo14);   // true
    var demo16 = (demo13 === demo14);  // false

第4步:字符串常用操作方法

目的:掌握文本内容的索引、提取、替换及格式化。

入口/动作:

var str = "Hello,Anderson";

// 索引与位置查找
demo1 = str[0];           // 'H',超出范围返回 undefined
demo2 = str.indexOf("H"); // 0,找不到返回 -1
demo4 = str.lastIndexOf("H"); // 从尾部搜索
demo3 = str.length;       // 12

// 匹配与替换
demo5 = str.match("Anderson"); // 返回匹配数组或 null
demo8 = str.replace("A","d");  // "Hello,d Anderson"

// 大小写与分割
demo9 = str.toUpperCase(); // "HELLO,ANDERSON"
demo10= str.toLowerCase(); // "hello,anderson"
demo11= str.split("d");    // ["He", "lo,An", "erson"]

同时需注意转义字符的使用:\' (单引号), \\ (斜杠), \n (换行), \t (制表符) 等。

第5步:日期对象初始化与比较

目的:获取系统时间及解析特定时间戳。

入口/动作:

// 1. 当前时间
var demo1 = new Date(); 

// 2. 毫秒数初始化
var demo2 = new Date(22e9);

// 3. 字符串格式 "YYYY-MM-DD"
var demo3 = new Date("2016-06-04");

// 4. 参数形式 (年, 月(0-11), 日, 时, 分, 秒)
var demo4 = new Date(2016, 5, 12, 12, 12, 12);

// 日期比较本质是比较时间戳
var isLater = (demo1 > demo2); 

第6步:正则表达式 RegExp 应用

目的:实现高效的文本模式匹配与检索。

入口/动作:

  1. 创建模式:
    // 构造器方式
    var pattern = new RegExp(pattern, modifiers);
    // 字面量方式(推荐)
    var pattern = /pattern/modifiers;
    // modifiers: i(忽略大小写), g(全局搜索)
  2. 执行匹配:
    var str = "Hello, Anderson Lu";
    var reg = /llo/gi;
    
    // match 返回匹配数组或 null
    var res1 = str.match(reg); 
    
    // test 返回布尔值
    var res2 = new RegExp("\\Lu\\gi").test(str); // true
    
    // exec 返回第一次匹配的详细信息或 null
    var res3 = new RegExp("\\Lu\\gi").exec(str); 

完成判断

能够熟练使用字面量和构造函数创建对象,并能根据场景选择合适的数字进制表示。在控制台运行上述代码片段无语法报错,且正则表达式能正确捕获预期文本模式。

简要总结

JavaScript 作为一种动态弱类型语言,其对象操作灵活但需谨慎处理类型一致性(如 == 与 === 的区别)。数字统一为浮点型,字符串提供了丰富的内置 API 用于文本处理,而 RegExp 则是解决复杂文本检索的核心工具。以上就是 JavaScript 中级语法中关于对象、数据类型及正则处理的详细内容,更多关于 JavaScript 进阶技巧的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。