資源描述:
《javascript類型轉換的規(guī)則學習總結》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、Javascript類型轉換的規(guī)則????Javascript的變量是松散類型的,它可以存儲Javascript支持的任何數(shù)據(jù)類型,其變量的類型可以在運行時被動態(tài)改變。請看示例:1varn=10;2n="string";?3n={};????上面的示例中,首先聲明n變量并初始化其值為10(整數(shù)類型),接著將字符串“hello?CSSer!”賦值給n,接著再賦一個對象給它,最后n的類型是對象類型??梢钥闯鲎兞縩的類型具有動態(tài)性,實際編程中,我們建議不要頻繁改變變量的類型,因為這對調試沒有好處。??正因為J
2、avascript中變量類型具有動態(tài)性,在程序實際執(zhí)行的過程中就需要用到類型轉換的概念。類型轉換可以分為隱式轉換和顯式轉換,所謂隱式轉換即程序在運行時進行的自動轉換,顯式轉換則是人為的對類型進行強制轉換。本文將對Javascript的類型轉換進行總結。顯式轉換通過手動進行類型轉換,Javascript提供了以下轉型函數(shù):轉換為數(shù)值類型:Number(mix)、parseInt(string,radix)、parseFloat(string)轉換為字符串類型:toString(radix)、String(
3、mix)轉換為布爾類型:Boolean(mix)??1、Number(mix)函數(shù),可以將任意類型的參數(shù)mix轉換為數(shù)值類型。其規(guī)則為:1.如果是布爾值,true和false分別被轉換為1和02.如果是數(shù)字值,返回本身。3.如果是null,返回0.4.如果是undefined,返回NaN。5.如果是字符串,遵循以下規(guī)則:6.1.如果字符串中只包含數(shù)字,則將其轉換為十進制(忽略前導0)2.如果字符串中包含有效的浮點格式,將其轉換為浮點數(shù)值(忽略前導0)3.如果是空字符串,將其轉換為04.如果字符串中包含非
4、以上格式,則將其轉換為NaN7.如果是對象,則調用對象的valueOf()方法,然后依據(jù)前面的規(guī)則轉換返回的值。如果轉換的結果是NaN,則調用對象的toString()方法,再次依照前面的規(guī)則轉換返回的字符串值。下表列出了對象的valueOf()的返回值:對象返回值Array數(shù)組的元素被轉換為字符串,這些字符串由逗號分隔,連接在一起。其操作與?Array.toString?和?Array.join?方法相同。BooleanBoolean?值。Date存儲的時間是從?1970?年?1?月?1?日午夜開始計
5、的毫秒數(shù)?UTC。Function函數(shù)本身。Number數(shù)字值。Object對象本身。這是默認情況。String字符串值。下面提供幾個例子,你能寫出它的正確結果嗎:?·Number(“hello?CSSer!”);·Number(“0×8″);·Number(“”);·Number(“020dd”);·Number(“070″);·Number(true);2、parseInt(string,?radix)函數(shù),將字符串轉換為整數(shù)類型的數(shù)值。它也有一定的規(guī)則:?1.忽略字符串前面的空格,直至找到第一個非
6、空字符2.如果第一個字符不是數(shù)字符號或者負號,返回NaN3.如果第一個字符是數(shù)字,則繼續(xù)解析直至字符串解析完畢或者遇到一個非數(shù)字符號為止4.如果上步解析的結果以0開頭,則將其當作八進制來解析;如果以0x開頭,則將其當作十六進制來解析5.如果指定radix參數(shù),則以radix為基數(shù)進行解析小測驗:·parseInt(“hello?CSSer!”);·Number(“0×8″);·parseInt(“”);·parseInt(“020dd”);·parseInt(“070″);·parseInt(“22.5
7、″);3、parseFloat(string)函數(shù),將字符串轉換為浮點數(shù)類型的數(shù)值。它的規(guī)則與parseInt基本相同,但也有點區(qū)別:字符串中第一個小數(shù)點符號是有效的,另外parseFloat會忽略所有前導0,如果字符串包含一個可解析為整數(shù)的數(shù),則返回整數(shù)值而不是浮點數(shù)值。4、toString(radix)方法。除undefined和null之外的所有類型的值都具有toString()方法,其作用是返回對象的字符串表示。對象操作Array將?Array?的元素轉換為字符串。結果字符串由逗號分隔,且連接起
8、來。Boolean如果?Boolean?值是?true,則返回?“true”。否則,返回?“false”。Date返回日期的文字表示法。Error返回一個包含相關錯誤信息的字符串。Function返回如下格式的字符串,其中?functionname?是被調用?toString?方法函數(shù)的名稱:function?functionname(?)?{?[native?code]?}Number返回數(shù)字的文字表示。String返回?String?對