对象:是js里用自定义数据的一种格式
对象 = 属性 + 方法
创建对象
字面量(推荐)
- 语法:
var 对象名称 = {键值对} - 键值对写法:
- 在
{}内部书写,【注】键值对之间使用,隔开- 属性名:"属性值"
- 在
{}外部书写:- obj.属性名 = "属性值"
- obj["属性名"] = "属性值"
- 在
var obj = {
name:"刘亦菲",
age:20,
say(){
console.log(`你好!我叫${this.name}`)
}
}
obj.say() //你好!我叫刘亦菲
console.log(obj) //{name: '刘亦菲', age: 20, say: ƒ}
构造函数创建对象
- 语法:
var 对象名称 = new Object() - 键值对写法:同上字面量在
{}外部书写方式一致
var obj = new Object()
obj.name = "刘亦菲"
obj["age"] = 20
obj.say = function(){
console.log(`你好!我叫${this.name}`)
}
obj.say() //你好!我叫刘亦菲
console.log(obj) //{name: '刘亦菲', age: 20, say: ƒ}
对象的增删改查
//创建一个空对象
var obj = {}
//增
//增加属性
obj.name = "杨超越"
obj["age"] = 20
obj["address"] = "中国"
// 增加方法
obj.say = function(){
console.log(`你好!我叫${this.name}`)
}
console.log(obj) //{name: '杨超越', age: 20, address: '中国', say: ƒ}
//删
delete obj.age
console.log(obj) //{name: '杨超越', address: '中国', say: ƒ}
// 改
obj.address = "中国江苏省"
console.log(obj) //{name: '杨超越', address: '中国江苏省', say: ƒ}
// 查
console.log(obj.name) //杨超越
console.log(obj.say) //ƒ (){console.log(`你好!我叫${this.name}`)}
数组的遍历
- for...in
var obj = {
name:"杨超越",
age:20,
say(){
console.log(`你好!我叫${this.name}`)
}
}
for(var key in obj){
//key代表属性名,obj[key]代表属性值
console.log(key,obj[key])
}