您好,登錄后才能下訂單哦!
這篇文章主要介紹“JavaScript強制類型轉換方法有哪些”,在日常操作中,相信很多人在JavaScript強制類型轉換方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaScript強制類型轉換方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
三種強制類型轉換是:1、轉換為數(shù)值類型,Number()、parseInt()、parseFloat();2、轉換為字符串類型,toString()、String();3、轉換為布爾類型,Boolean()。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
JavaScript是弱類型語言,它的值數(shù)據類型是可以變的。
有些語言要求指定每個變量的數(shù)據類型,這樣的語言叫強類型語言,如java C++
類型轉換有兩種:一種是顯式轉換,即需要程序員手動寫代碼轉換;另一種是隱匿轉換,由JavaScript解釋器轉換。
JavaScript提供以下函數(shù)進行顯式轉換:
1.轉換為數(shù)值類型:Number(mix)、parseInt(string,radix)、parseFloat(string)
2.轉換為字符串類型:toString(radix)、String(mix)
3.轉換為布爾類型:Boolean(mix)
Number(mix)函數(shù),可以將任意類型的參數(shù)mix轉換為數(shù)值類型。其規(guī)則為:
1、如果是布爾值,true和false分別被轉換為1和0
2、如果是數(shù)字值,返回本身。
3、如果是null,返回0
4、如果是undefined,返回NaN。
5、如果是字符串,遵循以下規(guī)則:
a.如果字符串中只包含數(shù)字,則將其轉換為十進制(忽略前導0)
b.如果字符串中包含有效的浮點格式,將其轉換為浮點數(shù)值(忽略前導0)
c.如果是空字符串,將其轉換為0
d.如果字符串中包含非以上格式,則將其轉換為NaN
6、如果是對象,則調用對象的valueOf()方法,然后依據前面的規(guī)則轉換返回的值。如果轉換的結果是NaN,則調用對象的toString()方法,再次依照前面的規(guī)則轉換返回的字符串值。
示例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>數(shù)據類型轉換</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={};//字面量創(chuàng)建對象 // 設置字面量對象屬性 person.name='huangshiren'; person.age=58; person.appetite=3; person.eat=function(){ document.write('正在吃飯'); } </script> </body> </html>
參數(shù)說明:
string 要被解析的值。如果參數(shù)不是一個字符串,則將其轉換為字符串(使用 ToString 抽象操作)。字符串開頭的空白符將會被忽略。
radix 一個介于2和36之間的整數(shù)(數(shù)學系統(tǒng)的基礎),表示上述字符串的基數(shù)。比如參數(shù)"10"表示使用我們通常使用的十進制數(shù)值系統(tǒng)。始終指定此參數(shù)可以消除閱讀該代碼時的困惑并且保證轉換結果可預測。當未指定基數(shù)時,不同的實現(xiàn)會產生不同的結果,通常將值默認為10。
parseInt(string, radix)函數(shù),將字符串轉換為整數(shù)類型的數(shù)值。它也有一定的規(guī)則:
1.忽略字符串前面的空格,直至找到第一個非空字符
2.如果第一個字符不是數(shù)字符號或者負號,返回NaN
3.如果第一個字符是數(shù)字,則繼續(xù)解析直至字符串解析完畢或者遇到一個非數(shù)字符號為止
4.如果上步解析的結果以0開頭,則將其當作八進制來解析;如果以x開頭,則將其當作十六進制來解析
5.如果指定radix參數(shù),則以radix為基數(shù)進行解析
示例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>數(shù)據類型轉換</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)函數(shù),將字符串轉換為浮點數(shù)類型的數(shù)值。
它的規(guī)則與parseInt基本相同,但也有點區(qū)別:字符串中第一個小數(shù)點符號是有效的,另外parseFloat會忽略所有前導0,如果字符串包含一個可解析為整數(shù)的數(shù),則返回整數(shù)值而不是浮點數(shù)值。
示例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>數(shù)據類型轉換</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>數(shù)據類型轉換</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={};//字面量創(chuàng)建對象 // 設置字面量對象屬性 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)函數(shù),將任何類型的值轉換為布爾值。
示例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>數(shù)據類型轉換</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={};//字面量創(chuàng)建對象 // 設置字面量對象屬性 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強制類型轉換方法有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。