1、基礎類型值包括:undefined、null、boolean、string、number數組
基礎類型分別在內存中佔有大小空間,它們的值保存在棧空間,咱們經過按值來訪問。函數
undefined:聲明沒有定義的變量(只有一個值)。3d
<script>指針
var TTT;對象
alert(TTT)blog
</script>ip
null:null表示準備用來保存對象,尚未真正保存對象的值。內存
var car = null;字符串
alert(typeof(car))string
boolean:布爾值有兩個值,一個爲true,一個爲false。
string:用於表示由零個或多個字符組成的字符序列,即字符串。字符串能夠用雙引號和單引號表示。
number:用來表示整數和浮點數值,還有一種特殊的數值即NAN。
拓展一個小知識,null和undefined的區別:
分屬不一樣的類型,未初始化定義的值用typeof檢測出來的是‘undefined’,而null值用typeof檢測出來的是‘object’
2、引用類型包括:對象、數組、函數等
對象(object類型):var obj = {name:「花木蘭」,age:20,sex:「女」}
alert(「名字是」+obj.name+"年齡是"+......)
對於引用類型的值,則必須在堆內存中爲這個值分配空間。因爲引用類型值的大小不固定(對象有不少屬性和方法,並且還能夠動態的添加屬性和方法),所以不能把它們保存在棧內存中。但內存地址大小是固定的,所以能夠將內存地址保存在棧內存中。
簡而言之:棧內存中存放的是基本數據類型值,堆內存中存放的是引用類型值。引用類型值在內存中的地址存放到棧中,也就是咱們常說的對象引用(指針)。
看下圖:
3、類型轉換
一、Number()
例:var num1 = 「11」;
var num1 = Number(num1);
var num2 = 12;
var num3 = num1+num2;
alert(num3);//23
二、parseInt()函數
將字符串轉換爲整數類型的數值
特色:直接查看是否符合數值模式,他會忽略字符串前面的空格,直至找到第一個非空格字符。
若是第一個字符不是數字字符或者負號,parseInt()就會返回NaN.
也就是說用parseInt()轉換空字符串會返回NaN
三、parseFloat()
將字符串轉換爲浮點數類型的數值
四、toString()
除undefined和null以外的全部類型的值都具備他toString()方法,其做用是返回對象的字符串表示
五、string()
null返回null undefined返回undefined
六、Boolean()
將任何類型的值轉換爲布爾值
如下值會被轉換爲false:false、「」、0、NaN、null、undefined
其他任何值都會被轉換爲true