js parseInt()和Number()区别
学习目标:
parseInt()、Number()这两个函数用到最多的地方就是把一个字符串转换成数据类型,那么他们都有哪些区别?
学习内容:
parseInt()函数将给定的字符串以指定的基数解析为整数。
parseInt(string,radix)
第二个参数表示使用的进制,我们一般使用10进制,也可能会有到8或者16进制。为了避免对“0”和“0x”开头的字符串解析错误,各种javascript编程规范都规定必须要明确给出第二个参数的值,如parseInt(“123”,10).
parseInt('16', 8) = 14
parseInt('10', 8) = 8parseInt('16', 10) = 16
parseInt('10', 10) = 10parseInt('16', 16) = 22
parseInt('10', 16) = 16
parseInt从头解析string为整数,在遇到不能解析的字符时就返回已经解析的整数部分,如果第一个字符就不能解析,就直接返回NaN。
Number()在不用new操作符时,可以用来执行类型转换。如果无法转换为数字,就返回NaN。 像“123a”,parseInt()返回是123,Number()返回是NaN,不同类型的字符串使用这两个函数的转换区别:
// 当字符串是由数字组成的时候 他们转换的数字一样的没有差别
let numStr = '123'
console.log(parseInt(numStr)) //123
console.log(Number(numStr)) //123// 当字符串是由字母组成的时候
let numStr = 'abc'
console.log(parseInt(numStr)) //NaN
console.log(Number(numStr)) //NaN// 当字符串是由数字和字母组成的时候
let numStr = '123a'
console.log(parseInt(numStr)) //123
console.log(Number(numStr)) //NaN// 当字符串是由0和数字
let numStr = '0123'
console.log(parseInt(numStr)) //123
console.log(Number(numStr)) //123// **当字符串包含小数点**
let numStr = '123.456'
console.log(parseInt(numStr)) //123
console.log(Number(numStr)) //123.456// **当字符串为null时**
let numStr = null
console.log(parseInt(numStr)) //NaN
console.log(Number(numStr)) //0// **当字符串为''(空)时**
let numStr = ''
console.log(parseInt(numStr)) //NaN
console.log(Number(numStr)) //0
学习总结:
1、当字符串是由数字组成的时候 他们转换的数字一样的没有差别;如果字符串不含数字全是字母,这两个方法也都只是返回NaN结果;当字符串是由0和数字组成时,都是解析除0外的全部数字;
2 当字符串是由数字和字母组成的时候 ①字母在开头,这两个方法也都只是返回NaN结果②字母不在开头Number方法返回NaN,pareseInt方法返回字母之前的数据
3 parseInt对于非String类型的值要先转换为String类型再操作 4 剩下的细节参考上述案例
js parseInt()和Number()区别相关推荐
- js parseInt()与Number()区别
说到转换成数字类型,我首先想到的是parseInt()方法,后来接触多了才发现还有一个Number()方法,同样是转换成数字类型,这两种方法有什么不同的呢? 1.parseInt(): pa ...
- js中!和!!的区别及用法
js中!和!!的区别及用法 js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值, 1.!可将变量转换成boolean类型,null.undefined和 ...
- JS和JQUERY的区别
JS和JQUERY的区别 ①.根据ID取元素 { JS:取到的是一个DOM对象. 例:var div = document.getElementByID("one"); JQUER ...
- js 中的 number 为何很怪异
js 中的 number 为何很怪异 声明:需要读者对二进制有一定的了解 对于 JavaScript 开发者来说,或多或少都遇到过 js 在处理数字上的奇怪现象,比如: > 0.1 + 0.2 ...
- JQuery的ready函数与JS的onload的区别详解
JQuery的ready函数与JS的onload的区别: 1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. $(document).ready()是DOM结 ...
- js setTimeout和setInterval区别
1.区别 2.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset=&qu ...
- 冲突问题和核心对象和原生js 和 jquer的区别的两个区别(固定格式的区别和入口函数的区别)
jQuery的冲突问题 $有可能其他框架也用 导致两个框架的符号相同出现问题冲突 第一种解决: 释放$的使用权 jQuery.noConflict();//释放$的使用权语句 释放操作必须在编写其他j ...
- js 中的 number 为何很怪异 1
js 中的 number 为何很怪异 声明:需要读者对二进制有一定的了解 对于 JavaScript 开发者来说,或多或少都遇到过 js 在处理数字上的奇怪现象,比如: > 0.1 + 0.2 ...
- 原生js与jquery的区别
原生js与jquery的区别 1.选择器: js: $('.car_img_con img')[0]; var jsObj = document.getElementsByClassName('sel ...
最新文章
- linux iptables 数据流程详解 4表5链的关系
- 《认清C++语言》---谈谈const
- aix 5.3 安装oracle 10g r2,AIX 5.3 安装 Oracle 10g R2(64)
- iOS Block 知识点拾遗
- atlas怎么看日志_亿级的日志治理!微服务最佳方案,ELK stack从零搭建
- LeetCode 292 Nim Game
- 使用命令行刷新Magento索引管理 Rebuilt Magento Indexes in terminal with php-cli
- 如何将特定提交推送到远程,而不是之前的提交?
- DELPHI2007 安装ACTIVEX插件的方法
- 中图分类法----T-0
- JavaScript编程软件手机版,JavaScript编程软件
- 2020认证杯第二阶段选提建议
- 2016年计划,2015年总结
- 超级好用easyexcel插件
- c语言实现url编码源码,URL encode 与 URL decode 的C语言实现
- Unity虚拟相机CinemaChine
- 一个陌生女人的来信-未完不续
- 软考高级 真题 2014年上半年 信息系统项目管理师 综合知识
- 利用opencv拼接图像视频摄像头进行录像
- BlinnPhone高光Shader解读
热门文章
- 【SQL Server中SMO的简单使用】 (装载)
- SQL中DATEADD和DATEDIFF的用法
- ASP.net 2.0 自定义控件的开发之数据分页 第五章
- vue-seamless-scroll在小米手机上显示不正常 显示出两行的问题
- Python_模块Module
- JS-对象-构造函数-实例化-this
- 最简单的目标跟踪(模版匹配)
- 纽约大学计算机工程专业课程,纽约大学计算机工程硕士专业介绍及课程要求
- 格式化输入数字_Python格式化输出的三种方式
- 2014递归求解单链表中的平均值(C++,附递归函数思路讲解)