一切皆对象
对象的属性值可以是个对象,也可以是个函数,这个函数称为对象的方法
如果寻找一个对象的属性没有的话,会是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)