常见js类型转换


在编写js脚本的时候,经常会遇到要对数据进行类型转换的地方。js实现数据转换的方式主要是三种:转换函数、强制类型转换、利用js变量弱类型转换。

一、字符串转数字

js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
一些示例如下:

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN

parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:

parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
//如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:
parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10

parseFloat()方法与parseInt()方法的处理方式相似。
使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。

parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN

强制类型转换Number(value)——把给定的值转换成数字(可以是整数或浮点数),与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。

Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
二、 字符串、数组互转
  1. 字符串=>数组
    split() 方法用于把一个字符串分割成字符串数组。
var str="How,are,you,doing,today";
var n=str.split(",");//n=['How','are','you','doing','today']
  1. 数组=>字符串
    toString() 方法可把数组转换为字符串,并返回结果。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.toString();//'Banana,Orange,Apple,Mango'

不怕千万人阻挡,只怕自己投降。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 群体特征:易冲动 短暂 力量大 低智商 执拗 偶像意识性强 个人特征: 理智 有独立意识 怀疑精神 优势容易发挥出...
    仰望云端阅读 759评论 0赞 1
  • 记得当初到新疆考特岗教师,有诸多的朋友劝阻我,新疆太远了。我还记得我当时的想法,在哪都是上班,在哪都不会是...
    yingzi_4b17阅读 341评论 0赞 0
  • 剪贴板说明 在linux中有三个x-selection,分别是XA_PIRMARY、XA_SECONDARY和XA...
    刘刘刘月月啊阅读 1,943评论 0赞 0

友情链接更多精彩内容