马冲的博客

导航

Js数据类型转换

数据类型转换问题

 

JS和PHP是弱类型语言,都存在数据类型的转换操作

数据类型转换分为2种:1)自动数据类型转换 (隐式转换)  2)强制数据类型转换 (显式转换)

自动数据类型转换如何发生:一般发生在运算和判断过程中.

 

强制数据类型转换:

Number数据类型转换:

parseInt()   字符串 转 整型

1.纯数值转后类型为number值不变

var str1='250';------number-----值250

2.数值开头,转后类型为number,值为开始的数值

var str1='222csasd23sad323';-----number-----值222

3.不是以数值开头,转后为NaN

var str1='afdfds2323232';-----number-----值NaN

 

//查看原数据类型

console.log('数据类型:'+typeof str1 +'-----值'+str1);

//数据类型转换 返回转换后的新数据!!!!!!!!!!!!!!

var newstr1=parseInt(str1);

//查看转换后的数据类型

console.log('数据类型:'+typeof newstr1 +'-----值'+newstr1);

parseFloat() 将字符串强制转换为浮点型

1纯数值,转后类型为number,值不变

var str1='3.12121';--------number-----值3.12121

2以数值开头,转后类型为number,值为开始的数值

var str1='3.1323afdfcdsds';------:number-----值3.1323

3不是以数值开头,转后为NaN

var str1='sfdcfsdvc23.43443';-----number-----值NaN

 

//查看原数据类型

console.log('数据类型:'+typeof str1 +'-----值'+str1);

//数据类型转换 返回转换后的新数据!!!!!!!!!!!!!!

var newstr1=parseFloat(str1);

//查看转换后的数据类型

console.log('数据类型:'+typeof newstr1 +'-----值'+newstr1);

Number()  将其他类型转换为数值类型

Undefined类型->NaN

var str1=undefined;数据类型:---undefined-----值undefined -----数据类型:number-----值NaN

Boolean了类型-> true  1  false 0

var str1=true---数据类型:boolean-----值true ---------------------------数据类型:number-----值1

Number类型->不需要转换

var str1=123; //数据类型:number-----值123 --------------数据类型:number-----值123

String类型-> 纯数值:类型改变值不变,其他情况都是NaN

var str1='132132'; //数据类型:string-----值132132 ------数据类型:number-----值132132

var str1='12132ddc'; //数据类型:string-----值12132ddc ------数据类型:number-----值NaN var str1='dsadsa12'; //数据类型:string-----值dsadsa12 ------数据类型:number-----值NaN

Function类型->NaN

var str1=function(){ //数据类型:function-----值function (){ alert('111111111');}--数据类型:number-----值NaN

Object类型->NaN    null:0

var str1=new Object(); //数据类型:object-----值[object Object] ---数据类型:number-----值NaN

var str1=null;  //数据类型:object-----值null----------数据类型:number-----值0

 

//查看原数据类型var newstr1=Number(str1);

console.log('数据类型:'+typeof str1 +'-----值'+str1);

//数据类型转换 返回转换后的新数据!!!!!!!!!!!!!!

var newstr1=Number(str1);

//查看转换后的数据类型

console.log('数据类型:'+typeof newstr1 +'-----值'+newstr1);

 

字符串类型转换:

转换方式有2种:

1.使用String() 函数

格式: 变量=String(变量)

//字符串类型转换 使用var newtest=String(test);

//var test=0; //整数:----数据类型:number-----值0-----------------------------数据类型:string-----值0

//var test=true; //布尔型:--数据类型:boolean-----值true ------------------------数据类型:string-----值true

//var test=3232.12312; //浮点数----数据类型:number-----值3232.12312--------------------数据类型:string-----值3232.12312

//var test=undefined; //未定义----数据类型:undefined-----值undefined------------------数据类型:string-----值undefined

//var test=function(){alert(111);}//函数------数据类型:function-----值function (){alert(111);}--数据类型:string-----值function (){alert(111);}

var test=new Object(); //对象------数据类型:object-----值[object Object]---------------数据类型:string-----值[object Object]

 

//查看原数据类型

console.log('数据类型:'+typeof test +'-----值'+test);

//数据类型转换 返回转换后的新数据!!!!!!!!!!!!!!

var newtest=String(test);

//查看转换后的数据类型

console.log('数据类型:'+typeof newtest +'-----值'+newtest);

2.使用.toString() 方法进行转换

格式:变量=变量.toString()

var test=false; //布尔型----数据类型:boolean-----值false------------------------数据类型:string-----值false

 

//查看原数据类型

console.log('数据类型:'+typeof test +'-----值'+test);

//数据类型转换 返回转换后的新数据!!!!!!!!!!!!!!

var newtest=test.toString();

//查看转换后的数据类型

console.log('数据类型:'+typeof newtest +'-----值'+newtest);

 

注意:进行字符串强制转换之后,一般都会将原有类型的内容转话为对应的字符串形式,对象除外.

 

布尔类型转换:

使用Boolean()方法进行转换

转化为布尔值false的情况:

Number  ->  0和0.0、NaN转化为false

String   -> 空字符串转化为false

Boolean  -> false转化为false

Undefined ->undefined 转化为false

Function   -> 永远为真

Object   -> 只有null为false

 

//布尔类型转换

//var test=0; //数据类型:number-----值0 ----------------数据类型:boolean-----值false

//var test=0.0; //数据类型:number-----值0 ----------------数据类型:boolean-----值false

//var test=NaN; //数据类型:number-----值NaN --------------数据类型:boolean-----值false

//var test=''; //数据类型:string-----值 -----------------数据类型:boolean-----值false

//var test=false; //数据类型:boolean-----值false -----------数据类型:boolean-----值false

//var test=undefined; //数据类型:undefined-----值undefined -----数据类型:boolean-----值false

//var test=null; //数据类型:object-----值null -------------数据类型:boolean-----值false  除了null之外的对象类型全部为真

//var test=new Object();//数据类型:object-----值[object Object]---数据类型:boolean-----值true

var test=function(){}; //数据类型:function-----值function (){} --数据类型:boolean-----值true

 

//查看原数据类型

console.log('数据类型:'+typeof test +'-----值'+test);

//数据类型转换 返回转换后的新数据!!!!!!!!!!!!!!

var newtest=Boolean(test);

//查看转换后的数据类型

console.log('数据类型:'+typeof newtest +'-----值'+newtest);

 

 

posted on 2018-11-07 00:38  马冲的博客  阅读(193)  评论(0编辑  收藏  举报