通过工厂函数、构造函数创建对象
2024-09-21
2
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 创建的
所以,我们可以这样来定义对象:
更新于:6小时前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')`)
赞一波!
相关文章
- 禁止添加属性、封闭对象、冻结对象的 API
- 对象拷贝: 浅拷贝、深拷贝
- 初识: 对象的属性特征
- mysql 函数: find_in_set()、instr()
- ES6 箭头函数 Arrow Function
- JavaScript Array 对象高阶方法 some、filter、indexOf
- js 遍历数组、对象的几种方式
- PHP 函数传值和传引用的区别
- PHP 可变函数
- 解释函数 foo() {} 和 var foo = function() {} 之间 foo 用法的差异
- JavaScript 常用自定义功能函数
- PHP 常用功能函数
- 腾讯云对象存储COS及CDN加速配置
- 阿里云对象存储OSS及CDN加速配置
- PHP的数组排序函数
- TP6.0 获取请求对象的五种方式
- TP6.0 助手函数 env()
- PHP的七个数组指针函数
- Vue组件的data必须是一个函数、单个根元素、局部组件
- PHP对象传值 - 引用传值