js数据类型的转换

js的数据类型

-->基本类型(值类型):数字number、字符串string、布尔boolean

-->复合类型(引用类型):对象(数组Array、时间类型Date、函数类型Function、正则表达式RegExp...)

-->空类型:Null、Undefined

 

一:数据类型的转换

1显示转换

A.转数字:

如果要将一个string类型的数据转化成number可以用:

 (1)Number转换:

var a="123";
a=Number(a);
console.log(typeof a);    // number 
var a="abc";
a=Number(a);
console.log(typeof a);     // NaN
var a=" ";
a=Number(a);
console.log(typeof a);    // 0

注意:①如果转换的内容本身就是一个数值类型的字符串,那么将来在转换的时候会返回自己number类型的(特例:true返回1  false返回0)

   ②如果转换的内容本身不是一个数值类型的字符串,那么在转换的时候结果为NaN

        ③如果转换的内容是空的字符串(null),那么转换的结果为 0

        ④如果是其他的字符串,那么将来转化的结果为NaN

 

  (2)ParseInt转换

var a="123";
a=parseInt(a);
console.log(typeof a);    //number
var a="    456467abasb";
a=parseInt(a);
console.log(a);    //456467

var a="   a123";
a=parseInt(a);
console.log(a);     //NaN
var a=123.12
a=parseInt(a);
console.log(a);    //123

注意:①忽略字符串前面的空格,直到找到第一个非空字符,还会将数字后面的非数字的字符串去掉

         ②如果第一个数字不是数字符号或者负号,返回NaN

         ③会将小数取整(向下取整)

    

     (3)parseFloat   浮点数(小数)

    与parseInt一样,唯一的区别是parseFloat可以保留小数

 

B.转字符串

 可以将其他的数据类型转换成字符串

 (1)String() 

var a123;
a=String(a);

 (2)toString()的方法来进行转换(包装类)

var a=123;
a=a.toString();

 注意:null和undefined没有toString方法的,String所有类型都能转

 

C.转Boolean类型

可以将其他类型转为boolean值  Boolean()

var a="true";
a=Boolean(a);

注意:在进行转换的时候,所有的内容在转化以后结果都是true,除了:false、" "(空字符串)、0、NaN、null、undefined、“”

 

2.隐式转化

a)转number

 

var a="123";
a=+a;

 

注意:+、-、*、/、%都可以将字符串隐式转换成number

 

b)转String

var a=123;
a=a+" ";

c)转boolean

var a=123;
console.log(typeof a); //number a
=!!a;
console.log(typeof a); //true
a=!a;
console.log(typeof a); //false

 

posted @ 2017-03-15 22:22  chensiqi  阅读(171)  评论(0编辑  收藏  举报