1、基本資料型別和引用資料型別
ECMAScript包含兩個不同型別的值:基本資料型別和參考資料型別。
基本資料類型指的是簡單的資料段,引用資料型態指的是有多個值構成的物件。
當我們把變數賦值給一個變數時,解析器首先要確認的就是這個值是基本型別值還是參考型別值。
2、常見的基本資料類型:
Number、String 、Boolean、Null和Undefined。基本資料類型是按值存取的,因為可以直接操作保存在變數中的實際值。範例:
var a = 10;
var b = a;
b = 20;
console.log(a); // 10;
console.log(a); // 10值
上面,b取得的是a值得一份拷貝,雖然,兩個變數的值相等,但是兩個變數保存了兩個不同的基本資料型別值。
b只是儲存了a複製的一個副本。所以,b的改變,對a沒有影響。 JS總共為我們定義了6中資料類型,分別是:undefined、null、boolean(布林)、 number(數字)、string(字串)、object(物件)。 (ES6中定義了另外其他的資料型態)。其中前
5中為簡單資料型別、object為複雜資料型別在理解每一種資料型別之前,我們先說一下變數,在任何語言中變數都是儲存資訊的容器。例如:在數學中 x = 5;那x就是數字5的容器,x就是變數。在JS中使用
var關鍵字定義一個變數。例如:var x = 5;說到這裡,我們就很好理解什麼是資料型了。在數學中數字也分為整數、小數、負數。 。 。等等好幾種類型,每一種類型適合什麼樣的運算元則,都有明確的規定。那麼在JS這門語言中,就定義了這6中資料類型,以及每種類型的使用規則和使用場景。接下來我們一一查看。
在講每個型別之前我們先介紹一個js運算子:
typeof(用來偵測變數的資料型別)。上面的程式碼可以看出typeof的()是可選項。var a;
typeof(a); //undefined
var b = 123;
#typeof b ; //number
undefined
只有一個值就是undefined;
那我們先來定義一個undefined的變數:;var a = undefined
我們知道undefined是未定義的意思,那這個變數有什麼意義呢?其實undefined並不是用來定義一個變量,而是當變數未初始化的時候,自動賦予undefined的值。例如:
var a;這個時候a就自動被賦予undefined的值。那為什麼要這麼做呢?我們想想數學上當我們只寫一個x的時候,我們能說這個x是整數或小數或負數嗎?肯定不能吧!同樣的道理,如果沒有undefined這個資料型,我們定義一個變數 var a;我們能說這個變數是數字?字串?還是對象?肯定不能吧?現在有了undefined我們就可以說這個a是undefined類型的。這就是undefined資料類型的意義。
也只有一個值就是null;;var b = null
邏輯角度來看,null表示的是一個空指針對象。那null的用途是什麼呢?我們可以用typeof null;發現回傳的並不是null,而是object,呵呵 你這個騙子你不是說typeof可以偵測資料型別嗎?其實這恰恰就能說明null的用途。
如果我們定義一個變數將來準備保存物件。那我們最好將這個變數初始化為null。這裡要另外提一點的是:undefined是衍生自null值的。所以undefined == null; //true
boolean
有兩個值,分別是:true和false;var c = true;
var d = false;
雖然boolean類型只有兩個值,但是js中所有的資料型別都可以和boolean值互相轉換。轉換規則如下:### 資料類型 false###var f = 1234566
string # number 非0數字值(含無限大) 0/Na#N#N#N#N# # 任何物件
# undefined
這些轉換規則對於學習後面的流程控制語句將會非常重要。
number這種型別表示數字:
;另外number型別還有一個特別的值:
NaN(非數值Not a Number)##這個數值用來表示一個本來要傳回數值的運算元未傳回數值的情況(這樣就不會拋出錯誤了)。例如,在其他程式語言中,任何數值除以0都會導致錯誤,從而停止程式碼執行。但在JavaScript中,任何數值除以0會回傳NaN,因此不會影響其他程式碼的執行。
string用這種型別表示字串:
var s = "abcdef";
var t = "北京"
;字串可以有單引號(')或雙引號(")表示。只要變數是由單引號或是雙引號表示的,那麼這個變數就是字串
。 ##var b = "5689"; typeof b; //"string"object
物件是一組資料與功能的集合。
##var o =new Object();
o.name="beijing"; //物件的屬性
#o.run = function(){}; //物件的方法
當你建立一個物件的時候,js會自動為這個物件實例新增下列預設屬性和方法。在實例的原型中)是否存在。用於檢查傳入的物件是否為另一個物件的原型。 #toString()-傳回物件的字串表示。以上就是js的6中基本資料型,下一篇讓我們來了解這6種資料型別之間的相互轉換。
以上是JavaScript資料類型的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!