对象(允许动态的添加和删除属性)
引用数据类型,保存复杂数据类型的容器,它是多个属性和方法的集合
1)定义对象
对象字面量
var o = {
name:'terry',
age:12,
sayName:function(){
console.log(this.name)
}
}
以“{ }”作为边界,属性与属性之间使用“,”隔开,属性名和属性值之间使用“:”隔开
属性名一般不加引号(在一些特殊情况下需要添加引号),属性值为字符串的时候一定要添加引号
构造函数
var o = new Object() =>{ }
o.name='tom'
o.age=12
2)访问对象中的属性
点访问符 .
o.name =>'terry'
o.age =>12
[ ]访问符
o['name'] =>'terry'
o['age'] =>12
3)删除对象属性
delete对象.属性
4)给对象添加属性
o.gender = '男'
5)Object根构造函数
所有的对象都直接或间接继承Object,都能调用Object原型里面的方法
var o = new Object()
var arr = new Array()
6)对象属性的检测
'name' in obj = >有-true 没有-false
7)引用传递和值传递
基本数据类型使用值传递:基本数据类型将值直接保存到内存的栈区中
var a=1
var b=a
b=6,a不变
引用数据类型使用引用传递:引用数据类型的引用地址保存在栈区中,实际的值保存在堆区中,该引用地址指向堆区中的空间
var o = {name:'tom',age:12}
var o1 = o
o1.name = terry
o1.name => terry
8)对象的序列化
1.常规转化
obj.toString()
2.转化为json字符串
JSON.stringify(obj)
3查询字符串
name=tom&age=12
var qs = require('querystring') //引入nodejs模块
qs.stringify(obj) => name=tom&age=12
9)增强for循环(for in)
遍历对象
for(var k in obj){
console.log(k) //属性名
console.log(o[k]) // 属性值
}