JS 全局函数 isNaN()、parseInt()、parseFloat()
目录
isNaN() 检查是否是非数值
parseFloat() 解析字符串为浮点数
parseInt() 解析字符串为整数
isNaN() 检查是否是非数值
1、isNaN() 全局函数用于检查其参数是否是非数字值。
2、语法:isNaN(x)
参数 | 描述 |
---|---|
x | 必需。要检测的值。 |
3、返回值:如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false。
4、说明:isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字(比如被 0 除后得到的结果)。
5、提示:如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符,正因为如此,isNaN() 函数是必需的。
6、提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。
<script type="module">/**因为 isNaN 是全局函数,所以可以直接使用*/console.log(isNaN(123)); // 输出 falseconsole.log(isNaN(-1.23)); // 输出 falseconsole.log(isNaN(5 - 2)); // 输出 falseconsole.log(isNaN(0)); // 输出 falseconsole.log(isNaN("110"));//输出 false,因为它可以转为数字console.log(isNaN("12HaHa123")); // 输出 trueconsole.log(isNaN("2005/12/12")); // 输出 truelet json = {"name": "华安", "age": 33};let arr = [1, 2, 3, 4, 5];console.log(json, isNaN(json)); // 输出 {name: "华安", age: 33} trueconsole.log(arr, isNaN(arr)); // 输出 [1, 2, 3, 4, 5] truelet parseIntResult = parseInt("123Ha");let parseFloutResult = parseFloat("3.14159圆周率");console.log(parseIntResult, isNaN(parseIntResult)); // 输出 123 falseconsole.log(parseFloutResult, isNaN(parseFloutResult)); // 输出 3.14159 falseconsole.log(NaN == NaN, NaN === NaN); //输出 false false</script>
parseFloat() 解析字符串为浮点数
1、parseFloat() 全局函数可解析一个字符串,并返回一个浮点数。
2、该函数指定字符串中的首个字符是否是数字,如果是,则对字符串进行解析,直到数字的末端为止,然后以数字返回该数字,而不是作为字符串。
3、语法:parseFloat(string)
参数 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
4、parseFloat 是全局函数,不属于任何对象。
5、parseFloat 将它的字符串参数解析成为浮点数并返回。如果在解析过程中遇到了正负号(+ 或 -)、数字 (0-9)、小数点,或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。同时参数字符串首位的空白符会被忽略。
6、如果参数字符串的第一个字符不能被解析成为数字,则 parseFloat 返回 NaN。
7、提示:可以通过调用 isNaN 函数来判断 parseFloat 的返回结果是否是 NaN。因为如果让 NaN 作为了任意数学运算的操作数,则运算结果必定也是 NaN。
8、提示:如果只想解析数字的整数部分,请使用 《parseInt() 全局函数将字符串解析为整数》
<script type="module">/**因为 parseFloat 是全局函数,所以可以直接使用*/console.log(parseFloat("10")); //输出 10console.log(parseFloat("10.00")); //输出 10console.log(parseFloat("10.33")); //输出 10.33console.log(parseFloat("34 45 66")); //输出 34console.log(parseFloat(" 60 ")); //输出 60console.log(parseFloat("40 years")); //输出 40console.log(parseFloat("He was 40")); //输出 NaNlet str1 = "3.14159圆周率";let str2 = "圆周率3.14159";if (isNaN(parseFloat(str1))) {console.log(str1, "解析数字失败");} else {console.log(str1, "解析数字",parseFloat(str1)); //输出 3.14159圆周率 解析数字 3.14159}if (isNaN(parseFloat(str2))) {console.log(str2, "解析数字失败");//输出 圆周率3.14159 解析数字失败} else {console.log(str2, "是数字");}</script>
parseInt() 解析字符串为整数
1、parseInt() 全局函数可解析一个字符串,并返回一个整数。
2、语法:parseInt(string, radix)
参数 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
radix |
可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。 如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。 |
2、当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
3、举例,如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
4、提示:只有字符串中的第一个数字会被返回。开头和结尾的空格是允许的。如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN。
<script type="text/javascript">/**因为 parseInt 是全局函数,所以可以直接使用*/console.log(parseInt("10")); //输出 10console.log(parseInt("19", 10)); //输出 19 (10+9)console.log(parseInt("11", 2)); //输出 3 (2+1)console.log(parseInt("17", 8)); //输出 15 (8+7)console.log(parseInt("1f", 16)); //输出 31 (16+15)console.log(parseInt("010")); //输出 10console.log(parseInt("110FF")); //输出 110console.log(parseInt("101.55FF")); //输出 101console.log(parseInt("F10F")); //输出 NaNconsole.log(parseInt(" 120中国")); //输出 120console.log(parseInt(" 119南京 ")); //输出 119</script>
JS 全局函数 isNaN()、parseInt()、parseFloat()相关推荐
- (7)Node.js 全局函数
一.Node.js 下的全局函数 1.1JavaScript 语言提供的全局函数,在 Node.js 下依然可用 • parseInt/parseFloat/isNaN/isFinite/eval.. ...
- JS全局函数里面的一些区别
转载于:https://www.cnblogs.com/Willie-WangLiang/p/7222232.html
- JS中的函数定义方式及全局函数
一.定义方式 方式一用 function定义 定义匿名函数,匿名函数可以被当作参数传递,不需要加入括号 通过内置的function的对象创建函数 <!DOCTYPE html> <h ...
- JS学习之全局函数与window对象
学习峰哥Js教程自学笔记,峰哥Java学习路线:http://www.java1234.com/javaxuexiluxiantu.html 1.全局函数: 1)概念:全局函数不属于任何一个内置对象. ...
- isNaN与parseInt/parseFloat
isNaN 返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字). NaN 即 Not a Number isNaN(numValue) 必选项 numvalue 参数为要检查 ...
- JS(内置对象,全局函数,事件,事件对象)
目录 内置对象 全局函数 事件 事件对象 内置对象 <!DOCTYPE html> <html><head><meta charset="utf-8 ...
- 在js中访问html页面,javascript – 在IE9的html页面中访问js里面的全局函数
我正在尝试访问我在main.js文件中声明的全局函数,并尝试在html页面中使用它: (function(){ window.myFunction(); })(); 还有我的main.js文件 (fu ...
- js定义全局变量 vue页面_在vue项目中 实现定义全局变量 全局函数操作
写在前面: 如题,在项目中,经常有些函数和变量是需要复用,比如说网站服务器地址,从后台拿到的:用户的登录token,用户的地址信息等,这时候就需要设置一波全局变量和全局函数,这两个设置不太难,而且有一 ...
- jquery和js常用函数
jquery函数大全转载 Jquery常用的函数,当作参考工具来用 Attribute: $("p").addClass(css中定义的样式类型); 给某个元素添加样式 $(&qu ...
- javascript的Math对象和全局函数
Math方法 表示数学的运算 静态方法,使用时Math.方法(): 常用: ceil ():向上舍入 floor ():向下舍入 round ():四舍五入 random ():伪随机数(0.1-1. ...
最新文章
- 一起学WPF系列(2):第一个WPF应用程序
- 优质手机APP开发公司的特点
- 共享首选项中commit()和apply()之间的区别是什么
- 没有会员wps合并多个sheet_WPS「合并文档」功能,如何“唰”一下把多个文档合并到一起?...
- create-react-app 配置sass
- java 应用监控系统_GitHub - jiangbin216/JavaMonitor: 一款适用于Java应用的在线性能监控系统(JM)...
- 单例模式中的懒汉模式和饿汉模式
- ImageAI的介绍(1)
- 读博士得抑郁症自杀的概率有多大?
- 小生不才,真实记录爬取链家网2584条租房信息,聊一聊框架爬取大量数据防止被ban的事
- 中央处理器cpu主要由什么组成?
- uni-app实现微信小程序长按拍视频的功能
- mysql中的like什么意思,MySQL中Like是什么意思?
- JMockit didn't get initialized
- 如何采用陷阱方式钩住API
- 数据越多,AI决策模型越脆弱
- OC Extension Tangential(左右圆角)
- Diskeeper 2010 EnterpriseServer
- stc12c5a32s2c语言程序,为什么STC12C5A32S2程序不能烧录进去啊
- 信息安全工程师-选择题(一)
热门文章
- 使用SQL的全文搜索功能构建 Web 搜索应用程序
- python groupby用法_Python数据分析黑色星期五-知识点整理
- 拓端tecdat|python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化
- 拓端tecdat|基于机器学习的印度肝脏病诊断分析
- Java游戏程序设计 第3章 游戏程序的基本框架
- Keras版的GCN代码学习
- Python基于wordnet实现词语相似度计算分析
- python对八大常见排序算法的总结和实现以及时间消耗分析
- 关于日期 显示当前日期
- linux是乱码,linux乱码的解决方法 -