javascript创建对象和遍历对象的几种方式

发布时间:2024年01月12日

1,创建对象

? ? ? ? ?一,对象字面量

? ? ? ? 对象字面量是在 JavaScript 中使用大括号 {} 创建对象的最简单、最快的方法。

    let person={
        name:"张三",
        age:18,
        height:180
    }
    console.log(person)

? ? ? ? 二,New Object()语法

????????使用 new Object() 语法创建对象是 JavaScript 编程中最明确的对象创建方式之一。

    let person = new Object()
    person.name="王五"
    person.age=20
    person.height=180
    console.log(person)

? ? ? ? 三,构造函数

????????构造函数用于创建相似对象的多个实例。当需要多个具有相似属性和方法的对象时,构造函数比较合适。比较适合创建共享的公共结构但有不同值的实例对象

    function Person(name,age,height) {
        this.name=name
        this.age=age
        this.height=height
    }
    let Obj1=new Person("赵六",22,180)
    console.log(Obj1)
    let Obj2=new Person("小赵",32,190)
    console.log(Obj2)

? ? ? ? 四,Object.create()方法

????????JavaScript 中的 Object.create() 创建一个具有指定原型和属性的新对象。一般用于直接从另一个对象继承而不调用父级构造函数对象时,可以用这个方法。

    let person={
        name:"张三",
        age:30,
        introduce:function(){
            console.log("我的名字是"+this.name+"我的年纪是"+this.age)
        }
    }
    let result=Object.create(person)
    result.name="小田"
    result.age=40
    result.introduce()//我的名字是小田我的年纪是40

? ? ? ? 五,ES6类语法

????????ES6 类提供了一种更传统的、基于类的方法来在 JavaScript 中创建对象。

????????

    class Person{
        constructor(name,age,height) {
            this.name=name
            this.age=age
            this.height=height
        }
        introduce(){
            return `我的名是叫${this.name},我的年纪是${this.age}岁,我的身高是${this.height}米`
        }
    }
    let result = new Person("小王",50,182)
    console.log(result.introduce())//我的名是叫小王,我的年纪是50岁,我的身高是182米

2,遍历对象

? ? ? ? 一,for...in

????????for...in可以遍历对象的所有可枚举属性,包括对象本身的和对象继承来的属性。

    let obj={
        name:"张三",
        age:18,
        height:180
    }
    for(let key in obj){
        console.log(key,obj[key])
    }

? ? ?二,Object.keys()

? ? ?Object.keys()方法可以遍历到所有对象本身的可枚举属性,但是其返回值为数组。

    let obj={
        name:"张三",
        age:18,
        height:180
    }
    let keys = Object.keys(obj)
    console.log(keys)//?['name', 'age', 'height']

? ?三,Object.values()

? ?返回的结构是以遍历的属性值构成的数组。

    let obj={
        name:"张三",
        age:18,
        height:180
    }
    let keys = Object.values(obj)
    console.log(keys)//['张三', 18, 180]

? ?四,Object.entries()?

? ?返回值为Object.values()与Object.keys()的结合,它会返回一个嵌套数组,数组内包括了属性名与属性值。

    let obj={
        name:"张三",
        age:18,
        height:180
    }
    let keys = Object.entries(obj)
    console.log(keys)
    /*[
        ['name','张三'],
        ['age',18],
        ['height',180]
    ]
    */

? ?五,Object.getOwnPropertyNames() (不常用)

? ??此方法接收一个对象为参数,返回该对象所有可枚举和不可枚举属性的属性名(不含Symbol属性)组成的数组。

    let obj={
        name:"张三",
        age:18,
        height:180,
        fun(){
            console.log(this.name)
        }
    }
    let keys = Object.getOwnPropertyNames(obj)
    console.log(keys)['name', 'age', 'height', 'fun']

简单总结了一下javascript中创建对象和遍历对象的几中方法,在这里做一个记录。

文章来源:https://blog.csdn.net/ltmtianming/article/details/135538521
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。