三種強制類型轉換是:1、轉換為數值類型,Number()、parseInt()、parseFloat();2、轉換為字串類型,toString()、String();3、轉換為布林類型,Boolean()。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
JavaScript是弱型別語言,它的值資料型別是可以變的。
有些語言要求指定每個變數的資料類型,這樣的語言叫做強型別語言,如java C
型別轉換有兩種:一種是明確轉換,即需要程式設計師手動寫入程式碼轉換;另一種是隱匿轉換,由JavaScript解釋器轉換。
JavaScript提供以下函數進行明確轉換:
1.轉換為數值類型:Number(mix)、parseInt(string,radix)、parseFloat(string)
2.轉換為字串類型:toString(radix)、String(mix)
3.轉換為布林類型:Boolean(mix)
Number(mix)函數,可以將任意型別的參數mix轉換為數值類型。其規則為:
1、如果是布林值,true和false分別轉換為1和0
2、如果是數字值,則回傳本身。
3、如果是null,回傳0
4、如果是undefined,回傳NaN。
5、如果是字串,遵循以下規則:
a.如果字串中只包含數字,則將其轉換為十進位(忽略前導0)
b.如果字串中包含有效的浮點格式,將其轉換為浮點數值(忽略前導0)
c.如果是空字串,則轉換為0
# d.如果字串中包含非以上格式,則將其轉換為NaN
6、如果是對象,則呼叫對象的valueOf()方法,然後依據前面的規則轉換返回的值。如果轉換的結果是NaN,則呼叫物件的toString()方法,再次依照前面的規則轉換回傳的字串值。
範例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据类型转换</title> </head> <body> <script> println(Number(false)); println(Number(true)); println(Number(123)); println(Number(null)); println(Number(undefined)); println(Number(person)); function println(a){ document.write(a+'<br>'); } var person={};//字面量创建对象 // 设置字面量对象属性 person.name='huangshiren'; person.age=58; person.appetite=3; person.eat=function(){ document.write('正在吃饭'); } </script> </body> </html>
#參數說明:
string 要被解析的值。如果參數不是字串,則將其轉換為字串(使用 ToString 抽象運算)。字串開頭的空格符將會被忽略。
radix 一個介於2和36之間的整數(數學系統的基礎),表示上述字串的基數。例如參數"10"表示使用我們通常使用的十進制數值系統。始終指定此參數可以消除閱讀該程式碼時的困惑並且保證轉換結果可預測。當未指定基數時,不同的實作會產生不同的結果,通常會將值預設為10。
parseInt(string, radix)函數,將字串轉換為整數類型的數值。它也有一定的規則:
1.忽略字串前面的空格,直到找到第一個非空字元
2.如果第一個字元不是數字符號或負號,則返回NaN
3.如果第一個字元是數字,則繼續解析直至字串解析完畢或遇到一個非數字符號為止
4.如果上步解析的結果以0開頭,則將其當作八進制來解析;如果以x開頭,則將其當作十六進制來解析
#5.如果指定radix參數,則以radix為基數進行解析
範例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据类型转换</title> </head> <body> <script> println(parseInt("12.34567",10)); println(parseInt("de",10)); println(parseInt("0123456789",10)); println(parseInt("0e0",16)); println(parseInt("0101010001",2)); function println(a){ document.write(a+'<br>'); } </script> </body> </html>
parseFloat(string)函數,將字串轉換為浮點數類型的數值。
它的規則基本上與parseInt相同,但也有點區別:字串中第一個小數點符號是有效的,另外parseFloat會忽略所有前導0,如果字串包含一個可解析為整數的數,則傳回整數值而不是浮點數值。
範例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据类型转换</title> </head> <body> <script> println(parseFloat("3.14")); println(parseFloat("314e-2")); println(parseFloat("0.0314E+2")); println(parseFloat("3.14more non-digit characters")); function println(a){ document.write(a+'<br>'); } </script> </body> </html>
toString(radix)方法。除undefined和null之外的所有類型的值都具有toString()方法,其作用是傳回物件的字串表示。
範例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据类型转换</title> </head> <body> <script> var count=10; println(count.toString()); var boolean=true; println(boolean.toString()); var today=new Date(); println(today.toString()); var shoppingCart=['鞋','连衣裙','皮带']; println(shoppingCart.toString()); var person={};//字面量创建对象 // 设置字面量对象属性 person.name='huangshiren'; person.age=58; person.appetite=3; person.eat=function(){ document.write('正在吃饭'); } println(person.toString()); function println(a){ document.write(a+'<br>'); } </script> </body> </html>
Boolean(mix)函數,將任何類型的值轉換為布林值。
範例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据类型转换</title> </head> <body> <script> var count=10; println(Boolean(count)); println(Boolean(0)); println(Boolean(4<3)); println(Boolean(null)); println(Boolean("")); println(Boolean(undefined)); var shoppingCart=['鞋','连衣裙','皮带']; println(Boolean(shoppingCart)); var person={};//字面量创建对象 // 设置字面量对象属性 person.name='huangshiren'; person.age=58; person.appetite=3; person.eat=function(){ document.write('正在吃饭'); } println(Boolean(person)); function println(a){ document.write(a+'<br>'); } </script> </body> </html>
【推薦學習:javascript進階教學】
以上是JavaScript三種強制型別轉換是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!