JS中创建对象的几种常见的方式

创建对象方式

// 方式1
var obj1 = {"name": "方式1"}

// 方式2
var obj2 = {name: "方式2"}

// 方式3
var obj3 = new Object({"name": "方式3"});

// 方式4
var obj4 = new Object();
obj4.name = "方式4"

// 方式5:通过对象构造器创建对象
function ByMethodCreateObj(name) {
    this.name = name;
}
var obj5 = new ByMethodCreateObj("方式5")


// 方式6:通过class关键字创建对象,也有自己的构造器,与方式5很类似
class TestClass {
    staticClassVariable = "我是类属性"

    staticGetClassVariable() {
        console.log("我是类方法")
        return this.staticClassVariable
    }

    constructor(name) {
        this.name = name
        TestClass.prototype.testPrototype = function () {
            console.log("添加类自己的原型链属性")
        }
        /*
         此处的箭头函数使用起来与上方一样,可能需要注意this的指向问题
        TestClass.prototype.testPrototype = () => {
            console.log("添加类自己的原型链属性")
        }
        */
    }

    getName() {
        console.log("访问实例属性")
        return this.name;
    }

    setName(name) {
        console.log("设置实例属性")
        this.name = name
    }
}
var obj6 = new TestClass("方式6")
// 序列化时会自动忽略方法属性
console.log(JSON.stringify(obj6))

// ##################################### [ 特别的 ] #####################################

var obj7 = {
    // 字段属性
    "name": "方式7",
    m1: function () {
        console.log('方法属性1')
    },
    m2: () => {
        console.log('方法属性2')
    },
    "m3": () => {
        console.log('方法属性3')
    }
}
// 序列化时自动忽略方法属性
console.log(JSON.stringify(obj7))


遍历对象的属性

var testObj = {
    "field1": "1",
    "field2": "2",
    "field3": "3",
    "field4": "4",
    "field5": "5",
    "field6": "6",
    "field7": "7"
}
for (i in testObj) {
    console.log("key:" + i)
}
posted @     阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-06-04 nginx location匹配规则
点击右上角即可分享
微信分享提示