首页 > web前端 > js教程 > 关于js数据类型的转换问题详解

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

迷茫
发布: 2017-03-26 16:55:53
原创
1373 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板