首页 > 其他分享 >parseInt 以数字开头,则取截止到第一个字母出现之前的所有数字进行转换 parseInt("12x2bc", 10) // 返回:12

parseInt 以数字开头,则取截止到第一个字母出现之前的所有数字进行转换 parseInt("12x2bc", 10) // 返回:12

时间:2023-11-11 13:00:14浏览次数:39  
标签:10 console log NaN parseInt 数字

以下哪些表达式的结果为true()
A
undefined == null
B
isNaN("100")
C
parseInt("1a") === 1
D
[] instanceof Array

正确答案:ACD

考点一: isNaN()的隐式转换

isNaN(item) 的时候会先将item进行 Number(item) 的隐式转换,然后再isNaN(item)

考点二:parseInt(string,raix)

1 )注意:string字符串只会被解析从第一个字符开始直到不是数字的字符部分
console.log(parseInt('223'));//223
2) 当字符串中间存在非数字,那么就只解析前面是数字的部分字符
console.log(parseInt('22e3'));//22
3) 如果字符串中第一个字符就不是数字,那么返回NaN
console.log(parseInt('e21'));//NaN

4) 第二个参数raix表示进制数,如果值是10就表示转换成10进制

考点三:判断数据类型的常见方法(各个的缺点是啥)

1)typeOf ([], null, Object判断结果都是object)

2)instanceof

3)Object.prototype.toString.call()

===================================================
1、如果都是字母, 返回:NaN

parseInt("abc", 10) //返回 NaN

2、如果都是数字,则返回整数

parseInt("123", 10) //返回 123

3、如果字母和数字都存在

(1)、以数字开头,则取截止到第一个字母出现之前的所有数字进行转换

parseInt("12x2bc", 10) // 返回:12

(2)、如果参数“string”,以字母开头,直接返回NaN (10进制中字母不是一个有效的的表示)

parseInt("df2bc", 10) //返回 NaN

======================================================
// 1. isNaN()函数用来判断一个数是否是NaN;
// 只有一个值是NaN或者能被转换为NaN的时候才返回true
console.log(isNaN('e'));//true,因为e可以被转换为NaN
console.log(isNaN('11'));//false,因为字符串可以被转换为数字,不能被转为NaN
console.log(isNaN(null));//false,因为null可以被转换为0,不能被转为NaN
console.log(isNaN(NaN));// true,NaN返回true

         // 2. parseInt(string,raix)函数有两个参数
         // 2.1 注意:string字符串只会被解析从第一个字符开始直到不是数字的字符部分
         console.log(parseInt('223'));//223
         // 2.2 当字符串中间存在非数字,那么就只解析前面是数字的部分字符
         console.log(parseInt('22e3'));//22
         // 2.3 如果字符串中第一个字符就不是数字,那么返回NaN 
         console.log(parseInt('e21'));//NaN
         
         // 对于parseInt()函数还有一个易考点,就是利用数组的下标,还记得parseInt()函数的第二个参数吗?
         // 2.4 parseInt()函数的第二个参数指的就是进制,这个参数小于2或者大于36的时候,都会返回NaN 
         console.log(parseInt(1,1));//NaN ,因为第二个参数是1表示1进制<2,所以错误
         console.log(parseInt(1,2));//1,因为表示二进制 =2,在范围内
         // 2.5 我们一般都是省略这个参数的,这个时候就是默认为10进制
         console.log(parseInt(99));//99
         // 2.6 我们第二个参数使用0的时候也是使用十进制
         console.log(parseInt(99,0));//99
         // 2.7 如果第一个参数前缀使用0x/0X则表示使用16进制
         console.log(parseInt(0x99));//153=16*9+9
         console.log(parseInt(0x99,10));//如果第一个参数使用了0x表示十六进制,那么第二个参数设置了值也无效
         
         // 2.8 看一个实例,对于数组
         var arr=[1,2,3,2,5];
         console.log(arr.map(parseInt));//[1, NaN, NaN, 2, NaN]
         // arr.map方法就是对于数组arr里面的每一项都去使用方法里面的函数,最后返回新数组
         // 因为map方***有索引,所以实际上就是 
         parseInt(1,0);//1,因为0表示十进制
         parseInt(2,1);//1进制<2,所以错啦!
         parseInt(3,2);// 2进制,但是3不在0——2范围内(3应该改为11),所以不符合2进制要求
         parseInt(2,3);//符合,因为三进制是0-3,而2在范围内
         parseInt(5,4);//4进制不包括5,所以NaN

标签:10,console,log,NaN,parseInt,数字
From: https://www.cnblogs.com/longmo666/p/17825803.html

相关文章

  • ORA-16191、ORA-01017 密码问题
    适用范围本文档描述适用于12.1版本及以上所有平台问题概述在搭建12CADG的过程中,主库alert日志报以下错误Tue0ct1020:05:312023Errorsinfile/xxdb/ordb/oracle/product/diag/xx/xx/xx2/trace/xx2_arc2_53921.trc:ORA-16191:Primarylogshippingclientnotloggedonst......
  • 2023-11-10-所以,最近怎么了
    总感觉,最近过得。。。有点快那种快,是无助的看着时间悄然过去那种快,是来不及的惋惜昨天的迷茫也不知道,谁又能给我一个答案,,,这一步,我该怎么走下一步,我又该怎么走妄想罢了,,,谁有会指引你前行,,只有自己吧最近看安卓的入门教程,因为很多基础不不牢所以去看了一下smali汇编,arm64汇编......
  • 汽车托运:1000公里托运|大板?小板
    托运的板车也有大板、小板之分这两种板车可以针对您的不同需求提供相应的拖车服务---1️⃣板费价格【小板车】主要根据公里数计算运费平均4-6元/公里......
  • 10.宽字节注入
    原理利用%df使注入语句逃逸  代码审计黑盒测试下的宽字节注入试探字符型试探?id=1%df%27%23试探成功注入获取敏感信息?id=1%df%27unionselect1,2,3%23  ?id=%df%27unionselect1,user(),database()%23这里的关键要让第一个语句错误:?id=%df%27这......
  • 武汉灰京文化传媒:数字科技催生中国游戏产业新时代
        回顾过去20年,中国游戏产业已经经历了从主机游戏到互联网游戏再到移动互联网游戏的飞速发展。如今,伴随着人工智能、云计算和虚拟现实技术等数字科技的高速发展,中国游戏市场再次面临着巨大机遇,预示着新一轮革命即将来临。游戏,作为离用户最近的产品,将成为数字科技迭代升级......
  • STM32F103:SWJ调试接口设置成普通的IO口——PA13,PA14,PA15,PB3,PB4
    一、STM32调试端口STM32有两种程序调试接口,具体如下:SWD调试接口: PA13、PA14共两个引脚。JTAG调试接口: PA13、PA14、PA15、PB3、PB4共五个引脚。 单片机启动后,初始状态这五个引脚就默认是调试接口。而实际使用中,一般只使用SWCLK、SWDIO这两个引脚用做S......
  • WPF win10窗体背景模糊
    internalenumAccentState{ACCENT_DISABLED=0,ACCENT_ENABLE_GRADIENT=1,ACCENT_ENABLE_TRANSPARENTGRADIENT=2,ACCENT_ENABLE_BLURBEHIND=3,ACCENT_INVALID_STATE=4}[StructLayout(LayoutKind.......
  • Ubuntu14.04 Server 升级到14.10 的方法
    如果想从Ubuntu14.04/13.10/13.04/12.10/12.04或者更老的版本升级到14.10,只要遵循下面给出的步骤。注意,你不能直接从13.10升级到14.10。你应该先将13.10升级到14.04在从14.04升级到14.10。下面是详细步骤。下面的步骤不仅能用于14.10,也兼容于一些像Lubuntu14.10,Kubuntu14.10和Xu......
  • 2023年11月10日总结
    更好的观看总结今天早上是练习赛,还是USACO的题目。最后一道题是白金组的,比较有难度。前三道题还是很简单的,具体可以看我的USACO作题记录1。前几次练习赛USACO的题目我就没有放在那个里面的,比较麻烦,以后就会放在那里面了,请谅解。题解也请参照那个里面的,这里就不放了。那就......
  • 每日总结20231110
    代码时间(包括上课)5h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周五,天气很冷,还下雪来着,所以不愿意出被窝,所以上午下午赖床来着。2、今天晚上进行了C#的相关练习,对C#也有了一定的理解了。3、今天晚上打算复习复习数学,明天有考试,加油,加油,加油!......