JavaScript資料型別

GodGump發表於2020-10-20

JavaScript資料型別分為兩種:值型別和引用資料型別
值型別(基本型別):字串(String)、數字(Number)、布林(Boolean)、對空(Null)、未定義(Undefined)、Symbol。
補充:Undefined 這個值表示變數不含有值。可以通過將變數的值設定為 null 來清空變數。
補充2:str,number和true都有包裝型別,所以可以把數字用括號括起來呼叫toString()方法
引用資料型別:物件(Object)、陣列(Array)、函式(Function)。

型別檢測
最常見的就是typeof:

<script language="JavaScript">
    var a="德瑪西亞";
    alert(typeof a);
</script>

注意: 比較特殊的是typeof null返回“object”!!!因此此方法不適用於判空
原型鏈操作instanceof
左運算元為物件,不是就返回false,右運算元必須是函式物件或者函式構造器,不是就返回typeError異常。
原理:判斷左邊的左運算元的物件的原型鏈上是否有右邊這個建構函式的prototype屬性。
instanceof坑:不同window或iframe之間的物件型別檢測不能使用instanceof!
舉個例子;

<script language="JavaScript">
    function x() {
    }
    var xFunctionTest = new x();
    alert(xFunctionTest instanceof x);
</script>

快速判斷一個變數是否為字串:將該變數加上任意字串,在與原變數做型別比較(適用大多數情況,上述兩種方法不適用的情況也做過說明)

相關文章