对象
能够从以下几个方面概论:
- 数组是一组数据的有序汇合
- 对象是一组数据无序的汇合,领有属性办法
- 属性:对象领有的数据
- 办法:对象领有的操作
- 内置对象:数组 set map 函数等 …..
let odj = {name(key 键):25(值)}
- 当应用对象不存在得属性,会失去 undefined
如何创建对象
- 申明量 let
obj = {}
; - 构造函数
let obj = new object();
对象中某条数据的键对应的值不是函数,就对这条数据称为“属性”
对象有哪些属性:
增:
- 创立时增加
例:let obj = {
name: zhangsan, // 属性
age: 18 // 属性
talk(){ // 办法
console.log(666)// 666
}
}
obj.talk() // 便是调用这个办法输入 666
- obj.key = value 例:obj.job = “loser”
- obj[string] = value 例:obj[“gender”] = “male”
- console.log(obj.age); //18
let age = Symbol(“能够写正文”); // 申明一个 symbol 变量
obj[age] = 14; // 给 symbol 变量赋值(通知他给那个对象增加)
console.log(obj[age]); //age:14
console.log(obj) // {name: ‘zhangsan’, age: 18, [Symbol(“能够写正文”)]: 14 }
(如果不想批改属性值 但又想增加同名键 能够这样写)
删:
delete obj.key || remove obj.key
删除办法 delete obj. 办法名 (不要加小括号);
应用被删除得属性会 undefined 调用被删除得办法会报错
查:
console.log(obj.age)
改:
obj.key = new value
例:
obj.gender = “man”
obj.gender = “female” // 更改
改已有的,如没有则新增
例:talk: function() {
console.log(666)
}
obj.talk(); //666
内部增加办法:obj.eat = function () {
console.log("2")
}
obj.eat(); //”2″
拜访对象的属性必须通过对象 · 才行
例:let obj = {
name: "wang",
age: 18,
talk: function () {console.log(` 我叫 ${obj.name}`)
}
}
obj.talk(); //”wang”
怎么遍历对象的键值对
let arr = {
name: "zhangsan",
age: 18,
talk() {console.log(666);
}
}
for (let i of Object.keys(arr)) {// 键
console.log(i); //name age talk
}
for (let i of Object.values(arr)) {// 值
console.log(i); //zhangsan 18 [Function: talk]
}
for (let i of Object.entries(arr)) {// 键和值
console.log(i); //['name', 'zhangsan']
['age', 18]
['talk', [Function: talk] ]
}
判断对象中是否存在要查找得键
console.log(“mao”in arr); // 如果没有则返回布尔值 false
console.log(“age”in arr); // 如果有则返回布尔值 true