对象

对象(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;一旦属性被重新赋值,此方法被自动调用。

四 面向对象


五 创建对象的方式
1 基于Object
2 对象字面量的方式
3 工厂模式
4 构造函数模式
5 原型模式
6 组合模式:构造函数+原型模式

原文地址:https://www.cnblogs.com/love-8023/p/7698823.html