目录
🥰1.for(const k变量 in 对象)语句---->用于对象或者数组的属性进行循环操作(不提倡遍历数组,k为字符串)---->原对象不会被改变
🥰2.Object.assign(拷贝对象,被拷贝对象)静态方法---->创建新的对象---->原对象不会被改变
🥰3.Object.keys(对象)静态方法---->获取对象中的所有属性---->原对象不会被改变
🥰4.Object.values(对象)静态方法---->获取对象中的所有属性值---->原对象不会被改变
一、什么是对象?
对象=属性(事物的特征,常用名词)+方法(事物的行为,常用动词)
对象是一个具体的事物,JS对象是一组无需的相关属性和方法的集合,所有事物都是对象(比如String,Array,function等)
二、创建对象的方法
let 变量名 = {对象字面量} //字面量创建对象,一次可以创建一个对象
let 变量名 = new Object() //构造函数创建对象,一次只能创建一个
function 构造函数名(){ //可以创建多个对象
this.属性 = '值',
this.方法 = function () {}
}
new 构造函数名() //实例化对象,想要几个对象就实例化几次
三、使用对象的方法
1.对象名.属性名 -----对象名.标识符
2.对象名["属性名"] -----[]内部不加引号会被解析成表达式(变量) ---> 对象名[表达式]
3.对象名.方法名()
4.对象的增删改查
增--->对象名.新属性名 = "新值"
删--->delete 对象名.属性名
改--->对象名.属性名 = "新值"
查--->对象名.属性名
四、案例呈现对象的创建和使用
let p = {}
console.log('字面量创建对象,一次可以创建一个对象,',p)
let o = new Object()
console.log('构造函数创建对象,一次只能创建一个,',o)
function object(){
this.name = '前端',
this.friend = 'JS'
this.sayHi = function (){
console.log('我是方法,只要调用就会打印这句话:hello,我是创建的对象')
}
}
const a = new object()
const b = new object()
const c = new object()
const d = new object()
a.sayHi()
console.log('实例化对象,想要几个对象就实例化几次,',a,b,c,d)
console.log('我是查找a对象的name属性,',a.name,'a对象为,',a)
console.log('我是增加a对象的新的属性age,',a.age = 14,'a对象为,',a)
console.log('我是删除a对象的新的属性age,',delete a.friend,'a对象为,',a)
console.log('我是改动a对象的新的属性age,',a.name = 'javascript','a对象为,',a)
五、Object常用方法
🥰1.for(const k变量 in 对象)语句---->用于对象或者数组的属性进行循环操作(不提倡遍历数组,k为字符串)---->原对象不会被改变
function object(){
this.name = '前端',
this.friend = 'JS'
this.sayHi = function (){
console.log('我是方法,只要调用就会打印这句话:hello,我是创建的对象')
}
}
console.log('a对象为,',a)
const a = new object()
for ( const k in a) {
console.log("遍历a对象里面的所有属性",k)
}
console.log('使用for...in语句后的a对象为,',a)
🥰2.Object.assign(拷贝对象,被拷贝对象)静态方法---->创建新的对象---->原对象不会被改变
function object(){
this.name = '前端',
this.friend = 'JS'
this.sayHi = function (){
console.log('我是方法,只要调用就会打印这句话:hello,我是创建的对象')
}
}
const a = new object()
a.sayHi()
const e ={}
console.log('a对象为,',a)
Object.assign(e,a)
console.log('拷贝后的e对象为,',e)
console.log('使用Object.assign(拷贝对象,被拷贝对象)方法后a对象为,',a)
🥰3.Object.keys(对象)静态方法---->获取对象中的所有属性---->原对象不会被改变
function object(){
this.name = '前端',
this.friend = 'JS'
this.sayHi = function (){
console.log('我是方法,只要调用就会打印这句话:hello,我是创建的对象')
}
}
const a = new object()
a.sayHi()
console.log('a对象为,',a)
const k = Object.keys(a)
console.log(k)
console.log('使用Object.keys()方法后a对象为,',a)
🥰4.Object.values(对象)静态方法---->获取对象中的所有属性值---->原对象不会被改变
function object(){
this.name = '前端',
this.friend = 'JS'
this.sayHi = function (){
console.log('我是方法,只要调用就会打印这句话:hello,我是创建的对象')
}
}
const a = new object()
a.sayHi()
console.log('a对象为,',a)
const k = Object.values(a)
console.log(k)
console.log('使用Object.values()方法后a对象为,',a)