Number() -- 将各种类型的值转换为数值类型
Number() -- 将各种类型的值转换为数值类型函数概述
Number() 函数用于将各种类型的值转换为数值类型(即 Number 类型)。
函数语法
Number(value)
参数解析
参数 含义
value 将要转换的值
返回值
根据参数类型决定不同的返回值:
[*]布尔值:true 转换为 1,false 转换为 0。
[*]数值:如果参数本身就是一个数值,则返回该数值。
[*]字符串:如果字符串包含有效的数值表示法(包括浮点数),则转换为相应的数值。如果字符串不包含有效的数值表示法,则转换为 NaN(Not a Number)。
[*]对象:如果对象包含 valueOf() 方法并返回一个原始值,则调用该方法并将结果转换为数值。如果对象包含 toString() 方法并返回一个字符串(可以转换为有效的数值),则将其转换为数值。
[*]null:转换为 0。
[*]undefined:转换为 NaN。
基本用法
# 布尔值
console.log(Number(true));// 输出: 1
console.log(Number(false)); // 输出: 0
# 数值
console.log(Number(42)); // 输出: 42
console.log(Number(-3.14)); // 输出: -3.14
# 字符串
console.log(Number("123")); // 输出: 123
console.log(Number("123.45")); // 输出: 123.45
console.log(Number(" 123 ")); // 输出: 123(忽略前后空格)
console.log(Number("123abc")); // 输出: NaN(无效数字)
console.log(Number("abc123")); // 输出: NaN(无效数字)
console.log(Number("")); // 输出: 0(空字符串)
# 对象
console.log(Number({})); // 输出: NaN
console.log(Number({valueOf: () => 5}));// 输出: 5
console.log(Number({toString: () => "6"})); // 输出: 6
# null 和 undefined
console.log(Number(null)); // 输出: 0
console.log(Number(undefined)); // 输出: NaN
注意事项
NaN 的处理:NaN 表示 “不是一个数字”,但是它的类型仍然是 Number。任何涉及 NaN 的算术操作都会返回 NaN。
字符串的处理:如果字符串包含非数字字符(除了前后的空格),Number() 函数将返回 NaN。
对象的处理顺序:Number() 函数首先尝试调用对象的 valueOf 方法,如果 valueOf 返回原始值,则使用该值进行转换;否则,调用 toString 方法,并尝试将返回的字符串转换为数字。
页:
[1]