js數據類型及類型轉換

1、基本數據類型html

js定義了6種基本數據類型數組

  • null: 空。表示還沒有存在的對象,經常使用來表示函數企圖返回一個不存在的對象,轉爲數字時爲0,把一個對象的屬性賦值爲null,表示刪除該屬性
    1.做爲函數的參數,表示該函數的參數不是對象。
    2.做爲對象原型鏈的終點。
  • undefined 表示未定義, 聲明變量卻沒有賦值時會顯示該值,當聲明的變量還未被初始化時,變量的默認值爲undefined,轉爲數值時爲NaN
    1.變量被聲明瞭,但沒有賦值時 就等於undefined
    2.調用函數時,應該提供的參數沒有提供,該參數等於undefined
    3.對象沒有賦值的屬性,該屬性的值爲undefined
    4.函數沒有返回值時,默認返回undefined
  • number: 數值
  • string: 字符串
  • boolean: 布爾值
  • object:對象

null屬於object數據類型的一種特殊形式函數

function是object數據類型的一種特殊對象this

2、強、弱類型轉換spa

隱式類型轉換prototype

1.「+」運算符code

當運算符「+」兩邊一個是數字類型,一個是字符串類型時,js引擎規定進行字符串鏈接運算而非算術加運算。htm

可將經過此方法將number轉換成string對象

2.「-」運算符blog

當運算符「-」,js引擎規定進行算術減運算。

可經過此方法將string類型轉化爲number

3.if/while會把參數隱式的轉換成boolean類型

4.for in 定義對象字面量時 會出現 從標示符到字符串的隱式轉換,遍歷數組時也會把數組的索引轉換爲字符串

5.alert 

String.prototype.fn = function(){return this};
var a = 'hello';
alert(typeof a.fn()); //-->object
alert(a.fn()); //-->hello
// 該方法返回this,this能夠理解成當前類的實例對象,既然是對象那麼typeof a.fn()天然返回是object。

Number.prototype.fn
= function(){return this}; var a = 10; alert(typeof a.fn());//-->object alert(a.fn()); //-->10

強制類型轉換

一、轉換函數

parseInt(),有基模式,二進制、八進制、十六進制。。
parseFloat(),字符串必須以十進制形式表示浮點數,parseFloat()沒有基模式。

二、強制類型轉換 

Boolean(value)——把給定的值轉換成Boolean型;
Number(value)——把給定的值轉換成數字(能夠是整數或浮點數);
String(value)——把給定的值轉換成字符串。

三、利用弱類型轉換




參考
相關文章
相關標籤/搜索