对象
对象是一组属性(property)和方法(method)的集合
//创建对象,{}对象直接量
var person={
//属相名:属性值
“name”:“tom”,
“age”:18,
“sex”:“man”
}
console.log(person);
//使用构造函数创建对象
方法1:
var book=new Object();
//添加属性
book.bid=1111;
book.title=“king”;
book.price=54;
book.author=“jay”;
console.log(book);
方法2:
var car=new Object();
car[“brand”]=“特斯拉”;
car[“color”]=“black”;
car[“length”]=5;
console.log(car);
获取对象属性
console.log(car["brand"],phon["name"]);
console.log(phon.size,car.length);
遍历对象中的属性
//遍历对象中数属性
var person={
//属相名:属性值
“name”:“tom”,
“age”:18,
“sex”:“man”,
“sla”:4333,
“birthday”:“1999-2-2”,
“dpt”:“iot”
};
//获取每一个属性的属性名及属性值
//key用于存储每一个属性的名称
for(var key in person){
//var value=person.key; person.key key被认为是属性名
//var value=person[key] key是变量,所以不需要加“”
var value=person[key];
console.log(key+":"+value);
}
//检测对象中的属性
”属性名“ in 对象
true 存在
false 不存在
对象.hasOwnProperty(“属性名”)
true 存在
false 不存在
对象.属性名===undefined
true不存在
false存在
console.log("name" in person);
console.log(person.hasOwnProperty("name"));
console.log(person.name===undefined);
对象中存在方法,获取对象中的方法
var person={
//属相名:属性值
“name”:“tom”,
“age”:18,
“sex”:“man”,
“sla”:4333,
“birthday”:“1999-2-2”,
“dpt”:“iot”,
//添加一个说话的方法
“say”:function(){
console.log(“我叫”+this.name);
},
“sing”:function(){
console.log(“我会唱歌”)
}
};
//获取对象中的方法
person.say();
person.sing();