对象
能够从以下几个方面概论:
- 数组是一组数据的有序汇合
- 对象是一组数据无序的汇合,领有属性办法
- 属性:对象领有的数据
- 办法:对象领有的操作
- 内置对象:数组 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