JavaScript 基礎類型,數據類型

  • 2019 年 11 月 5 日
  • 筆記

1.基礎類型:undefined,null,Boolean,Number,String,Symbol

  Undefined類型:一個沒有被賦值的變數會有個默認值undefined;

  Null類型:null類型只有一個值null;

  布爾類型:布爾表示一個邏輯實體,可以有兩個值:true和false;

  數字類型:除了能夠表示浮點數外,還有一些帶符號的值,+Infinity,-Ifinity和NaN(非數值);

  字元串類型:字元串類型用於表示文本數據,字元串中的每個元素佔據了字元串的位置,

  第一個元素的索引為0,下一個是索引1。

  符號類型:符號類型是唯一的並且是不可修改的。

2.數據類型:數值,字元串值,數組(引用類型),對象(引用類型)。

  對象又可以分成三個子類

    1.狹義的對象(object)

    2.數組(array)

    3.函數(function)

    3.typeof和instanceof的作用和區別

   instanceof和typeof都能用來判斷一個變數是否為空或者是什麼類型的變數。

   typeof用以獲取一個變數的類型,返回結果:number,boolean,string,function

     objcet,undefined,對於array,null等特殊對象使用typeof一率返回objcect。

     typeof 123 === 'numer' // 判斷是否是數字

     typeof '123' === 'string' //判斷是否為字元串

     typeof true === 'boolean' // 判斷是否為布爾值

     typeof a === 'function' // 判斷是否為函數

  instanceof用於判斷一個變數是否為某個對象的實例,如a = new Array();

    alert(a instanceof Object) 會返回true,同時alert(a instanceof Object)也會

    返回 true,這是因為Array是object的子類。

4.基本數據類型的值存在棧中,複雜數據類型在棧中存的是地址,當基本類型作為參數傳給函數的時候,函數對其改變不會改變外面的值,

  複雜數據類型作為參數傳給函數時,函數內部對其參數值的修改外部變數的值。

5.記憶體分為四個區域:棧區(堆棧),堆區,全局靜態區只讀區(常量區和程式碼區)

    JavaScript 基礎類型,數據類型