一切皆对象
对象的属性值可以是个对象,也可以是个函数,这个函数称为对象的方法
如果寻找一个对象的属性没有的话,会是undefined,如果寻找变量的话会报错
对象{
内建对象:obj、funtion<br /> 宿主对象<br /> 自定义
}
1.构造对象
使用new调用的函数是构造函数var obj = new Object() obj.name = '孙悟空' obj.age = 500 // delete obj.name var obj2 = new Object() obj2.name = '猪八戒' obj.test = obj2 console.log(obj.test.name)
2.字面量的方式创建对象
常用:var obj = { name:'孙悟空', age:500, sex:'男', add:'花果山' }
3.用对象保存参数传给函数
var obj = { name:'孙悟空', age:500, sex:'男', add:'花果山' } function fun(obj){ console.log('我是'+obj.name+',今年'+obj.age+'岁了,'+'我是'+obj.sex+'的,'+'我来自'+obj.add) } fun(obj)
4.实参也可以是个函数
var obj = { name:'孙悟空', age:500, sex:'男', add:'花果山' } function fun(obj){ console.log('我是'+obj.name+',今年'+obj.age+'岁了,'+'我是'+obj.sex+'的,'+'我来自'+obj.add) } function sayHello(a){ a(obj) } sayHello(fun)
5.枚举对象中的属性
var obj = { name : '孙悟空', age : 500, sex : '男', add : '花果山' } for(var n in obj){ console.log(n+':'+obj[n]) }
6.工厂方法创建对象
工厂方法创建对象 function createPerson(name,age,sex){ var obj = { name:name, age:age, sex:sex } // var obj = new Object; // obj.name = name; // obj.age = age; // obj.sex = sex // 需要注意的是要做一个返回值存储对象,没有返回值,无法接收数据 return obj } var obj1 = createPerson('孙悟空',500,'男') console.log(obj1)