1.声明
//字面量形式
var zhangsan = {"name":"张三","age":16,"sex":"male"};
//new Object()
//new Object()
var lisi = new Object();
lisi.name = "李四";
lisi.age = 25;
lisi.sex = "male";
2.添加属性
var zhangsan = {"name":"张三","age":16,"sex":"male"};
zhangsan.height = 185;
console.log(zhangsan)//Object
3.对象遍历属性
var zhangsan = {"name":"张三","age":16,"sex":"male"};
for(var attr in zhangsan){
console.log(attr +"----"+zhangsan[attr])
}
//name----张三
// age----16
//sex----male
//height----185
4.构造函数
第一部分
eg:
//构造函数
//构造函数首字母大写
//new的作用
//1.新创建了一个对象,2.this指向了新对象,3.构造函数的代码被执行,4.返回新对象
//推荐字面量形式和构造函数的方法,
function Person(name,age,sex){
this.name = name;
this.age = age;
this.sex = sex;
}
var wangwu = new Person("王五",23,"famle");
wangwu.say = function(){
console.log("我是王五")
};
第二部分
//对new出来的实例,
//要到达访问的是属性则返回属性值,访问的是方法则调用,可以封装getPropertyMethods()函数
function getPropertyMethods(obj,prop){
if(typeof obj[prop]==="function"){
obj[prop]();//或者obj[prop].call(obj),其中对象的属性是变量时,访问时要用obj[attr]的方式
}else{
return obj[prop]
}
}
eg:
getPropertyMethods(wangwu,"say");//我是王五
console.log(getPropertyMethods(wangwu,"name"));//王五