js基礎--javascript基礎概念之數據類型javascript
數據類型java
javascript有5種基本數據類型(簡單數據類型) 分別以下:ide
1.undefined -- 未定義值;函數
2.boolean -- 布爾值;測試
3.string -- 字符串值;spa
4.number -- 數值;指針
5.null -- 空值;對象
還有一個複雜數據類型--- object object本質上是一組無序的名值對應組成的。ip
typeof 操做符:typeof不是一個函數 是一個操做符。內存
使用typeof操做符可能會返回以下某些字符串:
var str = '字符串'; var num = 100; var bool = true; var obj = new Object(); var Fun = function(){}; var un; alert(typeof(str));//string alert(typeof(num));//number alert(typeof(bool));//boolean alert(typeof(obj));//object alert(typeof(Fun));//Function alert(typeof(un));//undefined
typeof 不僅僅能夠操做變量。還能夠是數值字面量的操做。如:
alert(typeof("string"));//string alert(typeof(11));//number
有時候 typeof也會返回一些使人迷惑但技術上又是正確的值。好比,調用typeof null 會返回object 。由於特殊值null 被認爲是 空object 的引用。
Undefined 類型
Undefined 只有一個值。即特殊的undefined 。 在使用var 聲明變量未初始化的值則爲undefined。如
var demo; //未初始化 undefined。
與
var demo = uneducated
是相等的。
通常不必設置undefined的字面量。
Null 類型
Null類型是第二個只有一個值的數據類型。這個特殊的值是null 邏輯上看來 null 類型就是一個沒有指針的的空對象。當你使用typeof 操做符時。返回的是一個對象。如:
var demo = null; alert(typeof(demo));//object
若是你準備定義一個變量來保存object 。那麼 建議你賦null值。
實際上 undefined是派生於null 值的。所以。
alert(null == undefined); //true
Boolean類型
該類型只有兩個值。True && false 。這兩個值和數值不是一回事。True不必定等於1;false不必定等於0;
若是想要一個值轉換爲boolean 能夠使用boolean函數。如;
var str = '字符串'; alert(Boolean(str));//true
例子中的str轉換爲了boolean值。Boolean()能夠對任何數轉換爲布爾值。
至於轉換的結果,則取決於實際要轉換的值。下面是各種數值轉換規則。
數據類型 True False
Boolean True False
String 任何非空字符串 空字符串
Number 任何非零的數值(無窮大) 0 和 NaN
Object 任何對象 null
Undefined N/A(不適用) Undefined
注意:Boolean 是區分大小寫的,也就是說 只有true 和false 纔是布爾值 其餘都不是。
Number 類型
這種類型使用IEEE754格式來表示整數和浮點數值。
浮點數值;
所謂浮點 就是小數類型。數值中包含有小數點的。且小數點後面必須包含有一位小數以上。如
var a = 1.5;//正常的浮點式 var b = 0.5;//解析爲0.8 var c = .8;//這樣也能夠正常解析 可是不建議這麼寫。 var d = 200.0;//解析爲200 var e = 29.;//解析爲29 var float = 9.22e4;//92200
浮點數值的最高精度是17位小數。可是進行算術運算時其精確度遠遠不如整數。例如,0.1 加 0.2 不是等於0.3 而是0.300000000000000004;小小的舍入偏差致使沒法測試特定的浮點值。例如;
if(0.1 + 0.2 == 0.3){ alert("True"); }else{ alert("Flase");//結果是這個 }
數值範圍:
因爲內存的限制,javascript表示的數值有個範圍;能表示的最小的值保存在Number.MIN_VALUE ,而能表示的最大的值保存在Number.MAX_VALUE。
alert(Number.MIN_VALUE);// 能表示的最小值是5e-324 alert(Number.MAX_VALUE);//能表示的最大值是1.7976931348623157e+308