JavaScript 核心对象与数据类型详解
本文深入解析 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 位浮点数存储机制及数据格式化输出。
入口/动作:
- 数值表示:所有数字均为 float 类型,遵循 IEEE754 标准,最大值为 ±1.7976931348623157 x 10^308。
- 进制书写与转换:
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' - 特殊值与类型检查:
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 应用
目的:实现高效的文本模式匹配与检索。
入口/动作:
- 创建模式:
// 构造器方式 var pattern = new RegExp(pattern, modifiers); // 字面量方式(推荐) var pattern = /pattern/modifiers; // modifiers: i(忽略大小写), g(全局搜索) - 执行匹配:
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 进阶技巧的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









