1.數據類型是什麼?
我們接觸的絕大多數程序語言來說,把數據都進行了分類,包括數字、字符、邏輯真假:int,long,string,boolean....等等;我們都知道計算機對數據處理時是采用二進制的方式。將數據加載到內存中,並且通過CPU調度進行計算得到最終結果,那麼,難道內存存儲數據時會記錄所以數據的類型嗎?我認為答案是否定的,內存中的數據應該會根據所占內存的大小來進行區分和計算的,兩種不同類型數據的計算,對於CPU來說只是調度了兩個所占內存大小不一的數據來進行計算,所以對於CPU來說,數據只有1和0。那麼這裡就出現了問題,有些人會說Java語言某兩種數據不能直接計算,必須轉換才能計算。這裡,就是強類型和弱類型的區別,強類型語言會對每一種數據進行嚴格的檢查,也就是對於每種類型內存所占空間進行檢查,如果不符合要求,就不允許編譯或者運行。弱類型則沒有對數據進行嚴格的檢查,允許大多數數據類型直接進行計算,JavaScript屬於弱類型。
2.JavaScript有哪些類型?
包括以下幾種:
Number:也就是數字包括浮點數
Boolean:真假(true or false)
String:字符串
Null:空對象指針,表明指向的內存空間不存在
Undefined:未定義,表明指向的內存空間存在,但是沒有數據
Object:一中復雜的數據類型,如果熟悉類似Java面向對象語言,對此應該很好理解
通過以上這6中類型,就能將數據進行分類了,對於數據的容器JavaScript統一用關鍵字 var 聲明,那麼如何確定一個變量是那種類型呢?這就要用到關鍵字 typeof
這裡,需要說明的是 typeof 是一個操作符(類似+、-、*、/) 而非 function 你可以直接 typeof a 使用(盡管這樣不推薦)。而 null 和 undefined 在比較大小時是相等的。因為 undefined 派生自 null。
下邊是 typeof 的舉例
代碼如下:
var mesage='some string';
var obj=new Object();
var a;
alert(typeof message);//'string'
alert(typeof(message));//'string'
alert(typeof(95));//'number'
alert(typeof(a));//'undefined'
alert(typeof(null==undefined));//'boolean'
alert(null==undefined);//'true'
alert(obj);//'object'
alert(null);//'object'(在不同浏覽器中也可能為'null')
以上就是關於javascript數據類型的所有內容了,希望大家能夠喜歡。