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 基礎類型,數據類型