來自:http://blog.csdn.net/kfanning/archive/2010/04/14/5485412.aspx函數
轉換成數字spa
ECMAScript提供了兩種把非數字的原始值轉換成數字的方法,即parseInt()和parseFloat()。
注意:只有對String類型(Number除外)調用這些方法,才能正確運行對其餘類型返回的都是NaN。.net
例如:設計
如下其餘類型轉換指針
1、類型轉換對象
1.轉換成字串blog
ECMAScript的Boolean值、數字和字串的原始值的有趣之處在於它們是僞對象,這意味着它們實際上具備屬性和方法。
如:繼承
總而言之,3種主要的原始值Boolean值、數字和字串都有toString()方法。ECMAScript定義的全部對象都有toString()方法,不管它是僞對象,仍是真的對象。ip
Boolean型的toString()方法只是輸出」true」或」false」,結果由變量的值決定:字符串
Number類型的toString()方法比較特殊,它有兩種模式,即默認模式和基模式,採用默認模式,toString()方法只是用相應的字符串輸出數字值(不管是整數、浮點數仍是科學記數法)。
採用Number類型的toString()方法的基模式,能夠用不一樣的基(進制基數)輸出數字。
2.轉換成數字
ECMAScript提供了兩種把非數字的原始值轉換成數字的方法,即parseInt()和parseFloat()。
注意:只有對String類型(Number除外)調用這些方法,才能正確運行對其餘類型返回的都是NaN。
例如:
parseInt()方法還有基模式,能夠把二進制、八進制、十六進制或者其餘任何進制的字符串轉換成十進制整數。第二個參數指定按哪種進制來解析。
說明:若是十進制數包含前導0,那麼最好採用基數10,不然獲得的是八進制的值。
parseFloat()方法與parseInt()方法的處理方式類似,從位置0開始查看每一個字符,直到找到第一個非有效的字符爲止,而後把該字 符以前的字串轉換成數字。對於這個方法來講,第一個出現的小數點是有效字符。若是用兩個小數點,第二個小數點將被看做無效的。使用該方法的另外一個不一樣之處 在於,字串必須以十進制形式表示浮點數。
3.強制類型轉換
ECMAScript中可用的3種強制類型轉換以下:
(1).Boolean(value)
把給定的值轉換成Boolean型。
當要轉換的值是至少有一個字符的字符串、非0數字或對象時,Boolean()函數將返回true。若是該值是空字符串、數字0、undefined或null,它將返回false。
如:
(2).Number(value)
把給定的值轉換成數字(能夠是整數或浮點數)。
還記得parseInt()和parseFloat()方法只轉換第一個無效字符以前的字符串,所以」4.5.6″將被轉換爲」4.5″。用 Number()進行強制類型轉換,」4.5.6″將返回NaN,由於整個字符串值不能轉換成數字。若是字符串能被完整地轉換,Number()將判斷是 調用parseInt()方法仍是調用parseFloat()方法。
如:
(3).String(value)
把給定的值轉換成字串。
與調用toString()方法的惟一不一樣之處在於,對null或undefined值強制類型轉換能夠生成字符串而不引起錯誤:
2、引用類型
引用類型一般叫做類(class),也就是說,遇到引用值時,所處理的就是對象。ECMAScript定義了「對象定義」,邏輯上等價於其餘程序設計語言中的類。
1.Object類
ECMAScript中的全部類都由這個類繼承而來,Object類中的全部屬性和方法都會出如今其餘類中(被覆蓋)。
Object類的屬性:
(1).Constructor—-對建立對象的函數的引用(指針)。對於Object類,該指針指向原始的object()函數。
(2).Prototype—-對該對象的對象原型的引用。對於全部的類,它默認返回Object對象的一個實例。 1、類型轉換
1.轉換成字串
ECMAScript的Boolean值、數字和字串的原始值的有趣之處在於它們是僞對象,這意味着它們實際上具備屬性和方法。
如:
總而言之,3種主要的原始值Boolean值、數字和字串都有toString()方法。ECMAScript定義的全部對象都有toString()方法,不管它是僞對象,仍是真的對象。
Boolean型的toString()方法只是輸出」true」或」false」,結果由變量的值決定:
Number類型的toString()方法比較特殊,它有兩種模式,即默認模式 和基模式 ,採用默認模式,toString()方法只是用相應的字符串輸出數字值(不管是整數、浮點數仍是科學記數法)。
採用Number類型的toString()方法的基模式,能夠用不一樣的基(進制基數)輸出數字。
parseInt()方法還有基模式,能夠把二進制、八進制、十六進制或者其餘任何進制的字符串轉換成十進制整數。第二個參數指定按哪種進制來解析。
說明:若是十進制數包含前導0,那麼最好採用基數10,不然獲得的是八進制的值。
parseFloat()方法與parseInt()方法的處理方式類似,從位置0開始查看每一個字符,直到找到第一個非有效的字符爲止,而後把該字 符以前的字串轉換成數字。對於這個方法來講,第一個出現的小數點是有效字符。若是用兩個小數點,第二個小數點將被看做無效的。使用該方法的另外一個不一樣之處 在於,字串必須以十進制形式表示浮點數。
3.強制類型轉換
ECMAScript中可用的3種強制類型轉換以下:
(1).Boolean(value)
把給定的值轉換成Boolean型。
當要轉換的值是至少有一個字符的字符串、非0數字或對象時,Boolean()函數將返回true。若是該值是空字符串、數字0、undefined或null,它將返回false。
如:
(2).Number(value)
把給定的值轉換成數字(能夠是整數或浮點數)。
還記得parseInt()和parseFloat()方法只轉換第一個無效字符以前的字符串,所以」4.5.6″將被轉換爲」4.5″。用 Number()進行強制類型轉換,」4.5.6″將返回NaN,由於整個字符串值不能轉換成數字。若是字符串能被完整地轉換,Number()將判斷是 調用parseInt()方法仍是調用parseFloat()方法。
如:
(3).String(value)
把給定的值轉換成字串。
與調用toString()方法的惟一不一樣之處在於,對null或undefined值強制類型轉換能夠生成字符串而不引起錯誤:
2、引用類型
引用類型一般叫做類(class),也就是說,遇到引用值時,所處理的就是對象。ECMAScript定義了「對象定義」,邏輯上等價於其餘程序設計語言中的類。
1.Object類
ECMAScript中的全部類都由這個類繼承而來,Object類中的全部屬性和方法都會出如今其餘類中(被覆蓋)。
Object類的屬性:
(1).Constructor—-對建立對象的函數的引用(指針)。對於Object類,該指針指向原始的object()函數。
(2).Prototype—-對該對象的對象原型的引用。對於全部的類,它默認返回Object對象的一個實例。