3 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
方法主要有三種
轉(zhuǎn)換函數(shù)、強(qiáng)制類型轉(zhuǎn)換、利用js變量弱類型轉(zhuǎn)換。
1. 轉(zhuǎn)換函數(shù):
js提供了parseInt()和parseFloat()兩個(gè)轉(zhuǎn)換函數(shù)。前者把值轉(zhuǎn)換成整數(shù),后者把值轉(zhuǎn)換成浮點(diǎn)數(shù)。只有對String類型調(diào)用這些方法,這兩個(gè)函數(shù)才能正確運(yùn)行;對其他類型返回的都是NaN。
2. 強(qiáng)制類型轉(zhuǎn)換
還可使用強(qiáng)制類型轉(zhuǎn)換(type casting)處理轉(zhuǎn)換值的類型。使用強(qiáng)制類型轉(zhuǎn)換可以訪問特定的值,即使它是另一種類型的。
ECMAScript中可用的3種強(qiáng)制類型轉(zhuǎn)換如下:
Boolean(value)——把給定的值轉(zhuǎn)換成Boolean型;
Number(value)——把給定的值轉(zhuǎn)換成數(shù)字;
String(value)——把給定的值轉(zhuǎn)換成字符串。
用這三個(gè)函數(shù)之一轉(zhuǎn)換值,將創(chuàng)建一個(gè)新值,存放由原始值直接轉(zhuǎn)換成的值。這會造成意想不到的后果。當(dāng)要轉(zhuǎn)換的值是至少有一個(gè)字符的字符串、非0數(shù)字或?qū)ο髸r(shí),Boolean()函數(shù)將返回true。如果該值是空字符串、數(shù)字0、undefined或null,它將返回false。
3. 利用js變量弱類型轉(zhuǎn)換

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
辦法,使用parseInt(var i)強(qiáng)制轉(zhuǎn)型。
因?yàn)閖s中變量是可以任意賦值的(不用擔(dān)心類型),但是int型一旦被改為字符串后,在調(diào)用int的加法運(yùn)算時(shí),就會變成了字符串的連接運(yùn)算。如下所示:
<script language="javascript">
<!--
var i=1;
alert(i+1);//結(jié)果為2
var j="1";
alert(j+1);//結(jié)果為11
//-->
</script>
此時(shí)如果想要將j轉(zhuǎn)換為int并且執(zhí)行加法,需要將j強(qiáng)制轉(zhuǎn)換為int,具體方法如下:
1
alert(parseInt(j)+1);
此時(shí)的結(jié)果就會是2了。
添加回答
舉報(bào)