JavaScript物件轉換為原始值的學習筆記

2021-08-11 04:57:54 字數 827 閱讀 6916

首先指明,本文中提到的轉換,只針對js中的內建物件(本地物件),內建物件是指js標準規範定義的類,比如array,function,object,date等。與內建物件對立的是宿主物件,就是js寄生的環境-瀏覽器,瀏覽器物件有window,dom,bom,event等

1.物件轉換為布林值

所有物件轉換為布林值都是true,包裝物件也是如此。

2.物件轉換為字串

物件轉換為字串經歷以下過程 :

1.首先呼叫tostring()方法,如果該方法返回原始值,則把原始值轉換為字串返回;(一般都會返回原始值)

2.若沒有返回原始值,就呼叫valueof()方法,若這個方法返回原始值,那麼把原始值轉換為字串返回;

3.若兩個方法都沒有返回原始值那麼將丟擲乙個型別錯誤的異常。

3.物件轉換為數字

物件轉換為數字則是先呼叫valueof()方法(關鍵點都在於是否返回原始值):

1.首先呼叫valueof()方法,若該方法返回原始值,那麼把原始值轉換為數字返回;(valueof一般都返回物件,所以還是使用tostring方法)

2.若該方法不返回原始值,則呼叫tostring()方法,若該方法返回乙個原始值,則把該原始值轉換為數字,返回這個數字結果。

3.若都不返回原始值,則丟擲型別錯誤異常。

注:日期物件比較特殊,一般使用物件到字串的轉換,且使用tostring()或valueof()方法得到的直接的原始值,不需要強制轉換為數字或字串。

非日期物件一般都是物件轉換為數字。

json轉換為物件

將json字串轉化為物件 param jsondata json串 param beantype 轉換物件 return 轉換好的物件 throws ioexception throws jsonparseexception return t 轉換中可能遇到的情況 轉換時json中的字段沒按照駝峰式...

JavaScript中轉換為數值型別問題

如果是boolean值,true和false類將分別被轉換成1 和 0 如果是數字值,只是簡單地傳入和返回 如果是null值,返回0 如果是undefined,返回nan 如果是字串遵循以下規則 如果字串中只包含數字 包括前面帶正號或負號的情況 則將其轉換為十進位制數值 即 1 會變成 1 123 ...

用JavaScript將數字轉換為大寫金額

var digituppercase function n s s 整 n math.floor n for var i 0 i unit 0 length n 0 i s p.replace 零.零 replace 零 unit 0 i s return head s.replace 零.零元 元...