本文介绍 JavaScript 中两种主要的数据类型转换方式:基本类型转换与提取转换。详细解析 String()、Number()、Boolean() 等强制转换函数的用法,以及 parseInt()、parseFloat() 从字符串中提取数值的机制,并说明 eval() 执行字符串代码的功能及构造函数调用的特性。
JavaScript 数据类型转换概述
JavaScript 提供了两种主要的数据类型转换机制:
第一种是将整个值从一种类型直接转换为另一种类型,这被称为基本数据类型转换。
第二种是从一个现有值中提取出另一种类型的值,并完成相应的转换工作。
基本数据类型转换方法
实现基本数据类型转换主要有以下三种方法:
1. 转换为字符串类型:使用 String() 函数。例如,String(678) 返回的结果为字符串 "678"。
2. 转换为数值类型:使用 Number() 函数。例如,Number("678") 返回的结果为数值 678。
3. 转换为布尔类型:使用 Boolean() 函数。例如,Boolean("aaa") 返回的结果为 true。
从值中提取类型的转换方法
从一个值中提取另一种类型值的方法包括:
1. 提取字符串中的整数:使用 parseInt() 函数。例如,parseInt("123zhang") 返回的结果为数字 123。
2. 提取字符串中的浮点数:使用 parseFloat() 函数。例如,parseFloat("0.55zhang") 返回的结果为数字 0.55。
3. 执行由字符串表示的 JavaScript 代码:使用 eval() 函数。例如,zhang=eval("1+1") 执行后,变量 zhang 的值为 2。
注意:Number 和 String 是特殊的函数。在 JavaScript 引擎中,它们会自动判断是作为构造函数调用还是普通函数调用。因此,开发者既可以使用 new 关键字进行实例化,也可以直接作为函数调用。