數據類型轉換問題ide
JS和PHP是弱類型語言,都存在數據類型的轉換操做函數
數據類型轉換分爲2種:1)自動數據類型轉換 (隱式轉換) 2)強制數據類型轉換 (顯式轉換)spa
自動數據類型轉換如何發生:通常發生在運算和判斷過程當中.對象
強制數據類型轉換:字符串
Number數據類型轉換:string
parseInt() 字符串 轉 整型io
1.純數值,轉後類型爲number,值不變console
var str1='250';------number-----值250 function
2.以數值開頭,轉後類型爲number,值爲開始的數值test
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);