雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

通过工厂函数、构造函数创建对象

2024-09-21 34
1. 工厂函数创建对象2. 使用构造函数创建对象

1. 工厂函数创建对象


当我们有多个变量的结构非常类似时,如下所示,反复书写结构过于麻烦,我们可以定义一个工厂函数来创建对象

let object1 = {    name: "jia",    add(x, y) {        return x + y;    }}let object2 = {    name: "wang",    add(x, y, z) {        return x + y + z;    }}console.log(object1.add(1, 2))console.log(object2.add(1, 2, 3))

使用工厂函数创建对象

function factory(name = '') {    return {        name,        add(...args) {            return args.reduce((sum, item) => sum + item, 0)        }    }}console.log(factory('jia').add(1, 2))console.log(factory('wang').add(1, 2, 3))

2. 使用构造函数创建对象


function User(name) {    this.name = name    this.show = function () {        console.log(`my name is ${name}`)    }    // 函数被实例化时    // 如果没有定义 return 时,默认值为 this    // return this    // 当然,如果不想返回 this 可以自定义返回值    // return {}}const person = new User('liang')person.show()

在 js 中,绝大多数的数据类型都是通过构造函数创建的

在浏览器控制台输出一个对象,可以看到这个对象是通过构造函数 Object 创建的

所以,我们可以这样来定义对象:

const obj = new Object()const obj = new Object({ name: "liang" })const count = new Number(100)const string = new String('liang')const bool = new Boolean(true)const date = new Date()const regexp = new RegExp(/\d{3,}/)const fun = new Function('cms', `console.log('this is function')`)
更新于:2个月前
赞一波!

文章评论

评论问答