关于js数据类型的转换问题详解

迷茫
迷茫 原创
2017-03-26 16:55:53 935浏览

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.12a=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

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

以上就是关于js数据类型的转换问题详解的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。