鱼C论坛

 找回密码
 立即注册
查看: 147|回复: 0

[速查宝典] Number() -- 将各种类型的值转换为数值类型

[复制链接]
发表于 2024-7-7 17:42:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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 方法,并尝试将返回的字符串转换为数字。


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-18 16:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表