对象
对象构造方法
- 构造函数创建法:
var obj=new Object();
obj.属性=属性值
obj.方法=方法函数
obj[属性]=属性值
obj[方法]=方法函数
中括号中的属性和方法必须是字符串,如果是变量,该内容必须是字符型变量。
var a="keys"
- 字面量创建法
var obj={
属性:属性值,
方法:方法函数
};
var obj={
key:value
name:"xietian", // 字符型key
"name":"xietian",
[a]:16, // 变量型key
5:10 }
console.log(obj.name);
// console.log(obj.keys);
// console.log(obj.5);//点语法拒绝使用非字符类型属性
// console.log(obj[5]);
//在对象中key除了字符类型以外只能支持symbol
- var obj=Object.create({});
Object.create(proto, [ properties Object ])//proto对象原型 properties
Object 一组属性和值,该参数对象不能是
undefined,另外只有该对象中自身拥有的可枚举的属性才有效,也就是说该对象的原型链上属性是无效的。该方法可以针对已知对象创建新对象也可以创建一个空对象。
对象引用存储
-
对象存储在堆中
-
判断对象是否相等,仅判断地址,而不是判断对象内容
内存泄漏
在堆中的对象可能被若干个变量引用其地址,
如果这个对象在后面的内容中不再使用,
我们需要将堆中的这个对象清除,
否则不会被浏览器自动清除,
这样就会造成垃圾产生,
当不断产生这种垃圾时,我们就把这种情况叫内存泄漏。
垃圾回收机制
如何处理内存泄漏 ?
先创建每个对象的管理池,
针对每个对象所引用它的变量做统一存储管理,
如果需要清理该对象时,将引用它的所有变量设置为null,
当内存上限达到峰值时,
系统会通过垃圾回收车将这些堆中无引用的对象全部清除回收,这就是垃圾回收机制
- 对象的遍历是通过添加属性的先后顺序遍历的
JSON
- JSON方法不可以将对象中方法进行转换
- JSON 是一种数据格式。它本身是一串字符串,只是它有固定格式的字符串,符合这个数据格式要求的字符串,我们称之为JSON。
- JSON数据结构中的Value可以是String、number、object、array、boolean(true/false),null 这几种数据类型。
删除属性
var obj={a:3,b:4}
delete obj.a;
也可以根据键值删除对象下的属性。