1、基本資料型別(值型別)
number、string、boolean、null、undefined
2、引用資料型別
object 例如: {}、、/^$/、日期物件、math 例項物件等...
function
3、es6中新增
symbol 唯一值
檢測資料型別 typeof
typeof nan => "number" 不是乙個有效的數字,但是屬於number數字型別
nan 和誰都不相等 nan == nan => false 所以檢測是否有效數字需要用 isnan(把其他資料型別轉換為number型別是乙個有效數字返回false)
null與undefined的區別:
1、定義
(1)undefined:是所有沒有賦值變數的預設值,自動賦值
2、何時使用null?
當使用完乙個比較大的物件時,需要對其進行釋放記憶體時,設定為null
3、null與undefined的異同點是什麼呢?
共同點:都是原始型別,儲存在棧中變數本地
不同點:
(1)undefined——表示變數宣告過但並未賦過值。
它是所有未賦值變數預設值。
例如:var a; //a自動被賦值為undefined
(2)null——表示乙個變數將來可能指向乙個物件。
一般用於主動釋放指向物件的引用。
例如:var emps = ['ss','nn'];
emps = null; //釋放指向陣列的引用
4、延伸——垃圾**站
它是專門釋放物件記憶體的乙個程式。
(1)在底層,後台伴隨當前程式同時執行;引擎會定時自動呼叫垃圾**期;
(2)總有乙個物件不再被任何變數引用時,才釋放。
object 物件的屬性名一定不能是應用資料型別,缺省會把引用資料型別轉換為字串進行處理
例如:
let a = ;
let b = ;
let obj = {};
obj[a] = '我是測試資料1';
obj[b] = '我是測試資料2';
console.log(obj[a] , obj[a] ) => 我是測試資料2', 我是測試資料2'
因為a,b 物件為 key 時會被轉成字串,相當於執行a.tostring() =>"[object object]",此時obj[a]其實就是obj["[object object]"].
symbol 唯一值
例:let a = {};
let b = symbol();
let c = symbol();
a[b] = '測試資料1';
a[c] = '測試資料2';
console.log(a[b], a[c]) // 測試資料1 測試資料2
a =>
資料型別基礎知識
強型別語言 要求變數的使用要嚴格符合規定,所有變數都必須先定義後才能使用 安全性高,速度慢 弱型別語言 資料型別分類 基本型別 重點 public class six1 引用型別類介面 陣列位 bit 是計算機內部資料儲存的最小單位 位元組 byte 是計算機中資料處理的基本單位,習慣用byte來表...
Redis基礎知識 資料型別
redis支援5種資料型別 字串 string 雜湊 hash 列表 list 集合 set 有序集合 sorted set string 是 redis最基本的型別,乙個key對應乙個value,string可以包含任何資料,比如jpg或者序列化的物件,string是redis最基本的型別,乙個鍵...
MySql基礎知識 資料型別
整數型別 位元組最小值 最大值tinyint 1有符號 128,無符號 0 有符號127,無符號255 smallint 2有符號 32768,無符號 0 有符號 32767,無符號 65535 mediumint 3有符號 8388608,無符號 0 有符號 8388607,無符號 1677215...