對象(object)
一 js中對象:
內置對象:Math RegExp Date Array String Function ...
宿主對象: DOM BOM
自定義對象:
二 原始數據類型:基本類型、引用類型
基本類型:number string null undefined boolean
引用類型:Object Math RegExp Date Array Function
基本包裝類型:String Number Boolean
內存:堆、棧
基本類型的數據是存放在棧當中的
引用類型和基本包裝類型是存放在堆當中的函數
var arr=new Array(1,2);
console.log(arr);指針
基本類型按值訪問的
引用類型和基本包裝類型是按址(指針)訪問的對象
三 對象(Object)
一)定義:無序屬性的集合
1 經過Object
2 對象字面量
二)屬性的分類
1 數據屬性
[[configurable]]:表示可否使用delete操做符刪除從而從新定義,或可否修改成訪問器屬性。默認爲true;
[[enumberable]]:表示是否能夠在 for...in 循環和 Object.keys() 中被枚舉。默認true;
[[writable]]:表示是否可修改屬性的值。默認true;
[[value]]:包含該屬性的數據值。讀取/寫入都是該值。內存
2 訪問器屬性
[[configurable]]:是否可經過delete操做符刪除從新定義屬性;
[[enumberable]]:是否可經過for-in循環查找該屬性;
[[set]]:寫入(設置)屬性時調用函數,默認:undefined;一旦屬性被訪問讀取,此方法被自動調用。
[[get]]:讀取(獲取)屬性時調用函數,默認:undefined;一旦屬性被從新賦值,此方法被自動調用。get
四 面向對象原型
五 建立對象的方式
1 基於Object
2 對象字面量的方式
3 工廠模式
4 構造函數模式
5 原型模式
6 組合模式:構造函數+原型模式string