先考考你这几个题目

Number('前端精髓')
Number(null)
Number(undefined)
Number([])
Number([1])
Number([1, 2])
Number(Number(new Date()))

感觉还可以吗?

如果你理解Number函数的转换规则,那么应该很容易的,但是里面的转换规则还是挺多的,一不留神就出错,那就详细分析一下。

如果是把布尔值传递给Number函数,将会得到0和1。

Number(false)
// 0
Number(true)
// 1

如果是把null和undefined传递给Number函数,将会得到0和NaN。

Number(null)
// 0
Number(undefined)
// NaN

如果是把字符串传递给Number函数,那肯定是NaN。

Number('前端精髓')
// NaN

如果是对象{}传递给Number函数,那肯定是NaN了。

let obj = {}
obj.toString()
// "[object Object]"
Number("[object Object]")
// NaN

对象的转换规则其实是这样的:会调用对象的toString方法得到结果,然后再传入Number方法中。

对于数组的转换规则呢,你要先知道数组调用toString会发生什么情况?

[].toString()
// ''
[1].toString()
// '1'
[1,2].toString()
// '1,2'

然后我们再调用Number方法就可以了

Number('')
// 0
Number('1')
// 1
Number('1,2')
// NaN

泄密Number的数据类型转换相关推荐

  1. JS中的数据类型转换:String转换成Number的3种方法

    今天有个学员问了个关于数据类型转换的问题,我觉得这个是可以给大家说一下的. JavaScript中,可以通过以下3种方法来将string值转换成number: 1.调用Number()来对string ...

  2. number类型转换java_Number()数据类型转换

    Number() 如果是 Boolean 值, 和. 如果是数字值,只是简单的传入和返回. 如果是 . 如果是 undefined,返回NaN. 如果是字符串,遵循下列规则: 如果字符串中只包含数字( ...

  3. oracle tovarchar2_Oracle 数据类型转换之 varchar2,number,date

    原标题:Oracle 数据类型转换之 varchar2,number,date 大家好: 大家都知道,Oracle SQL 在where子查询中,"=" 关系的两侧,数据类型要一致 ...

  4. Javascript数据类型:变量与数据类型 数字型Number 字符串型String 布尔型Boolean Undefined和Null 检测变量typeof 数据类型转换 标识符 关键字 保留字

    数据类型 一.数据类型意义 二.变量与数据类型 三.简单数据类型 1.数字型 Number 2.字符串型 String 3.布尔型 Boolean 4.未定义数据类型 Undefined 5.空值 N ...

  5. 检测数据类型、小数点后保留后N位方法、数据类型转换、window对象的方法 、分支结构 (if单分支、if-else 双分支、多重if结构)isNaN() 与 Number.isN的区别

    目录 1.检测数据类型(typeof) 2.数据类型转换 转换为字符串类型 换为数字类型 其他类型转换为布尔值 小数点后保留后N位方法 3.window对象的方法 (window.可省略) 4.顺序流 ...

  6. 后端返回number类型数据_【JavaScript 教程】标准库—Number 对象

    作者 | 阮一峰 1.概述 Number对象是数值对应的包装对象,可以作为构造函数使用,也可以作为工具函数使用. 作为构造函数时,它用于生成值为数值的对象. var n = new Number(1) ...

  7. 数据类型转换、==和===的判断

    不同数据类型做比较的时候,都需要进行数据类型的转换!本文介绍常见数据类型转换的方法,相等和严格相等的判断规律 一.其他类型转换成布尔类型 1.使用场景: 对于括号里的表达式,会被强制转换为布尔类型 i ...

  8. Python基本语法_强制数据类型转换

    目录 目录 前言 软件环境 Python数据类型的显式转换 显式转换的多种类型 Non-String转换为String str函数 repr str和repr的区别 eval Non-int转换为in ...

  9. oracle java数据类型转换函数_Oracle基础——单行函数(类型转换函数)

    零点起飞学Oracle 正版现货 155.4元 (需用券) 去购买 > Oracle基础--单行函数(类型转换函数) 在执行运算的过程中,经常需要把一种数据类型转换成另一种数据类型. 数据转换分 ...

最新文章

  1. 机器视觉-相机内参数和外参数
  2. hdu 2191 悼念512汶川大地震遇难同胞 【多重背包】(模板题)
  3. python计算小数点后有几位_python的数字类型
  4. Mysql 5.7 Gtid内部学习(八) Gtid带来的运维改变
  5. 宿舍管理系统(简单版)
  6. java项目开发实例基于javaweb+mysql数据库实现的宠物领养|流浪猫狗网站含论文+开题报告
  7. C语言ssh软件,如何在C语言程序中使用SSH。
  8. 51单片机 1-LED灯流水灯 练习3-流水灯(_crol_位移)
  9. 【神通数据库】图形化界面安装、命令行安装、静默安装、命令行建数据库、日常维护(超详细)
  10. Windows下获得当前目录下的所有文件的文件名并输出到文件
  11. python画三维立体图完整代码_python之画三维图像
  12. MySQL数据库存储的字符显示是问号??
  13. 蓝桥杯及其搜索算法总结
  14. 如何 拆 贴片电容 而不是把焊盘给搞坏
  15. MATLAB app designer/GUI 学习笔记(一)
  16. 2.zookeeper
  17. odb++ DEMO
  18. 知行之桥堆内存及清理
  19. 常用电脑检测软件列表!提供下载!
  20. 编写函数devide(x, y),x为被除数,y为除数

热门文章

  1. 110+优秀作品、20+热门领域曝光, 高通如何玩转“AI 的夏天”!
  2. 使用虚幻引擎4年,我想再谈谈他的网络架构
  3. 中国开源产品如何走向世界?
  4. 开发者应当熟知的 C# 序列化和反序列化
  5. Myspace 被曝数据滥用,隐私问题再被诟病!
  6. 微软 Build 2019 对开发者意味着什么?
  7. 春运抢票靠加速包?试试这个 Python 开源项目吧
  8. 互联网之“死”:为什么开发者会排斥新技术?
  9. “WiFi 万能钥匙”盗 9 亿用户数据,如何看待运营平台滥用隐私的问题?
  10. 2017 科技大事件回顾:智能音箱大战、数据泄露于内贼