Categories: 前端开发

每日一学:在 JavaScript 中创建对象的可行方法有哪些?

每日一学:在 JavaScript 中创建对象的可行方法有哪些?

1)对象构造函数:

创建空对象的最简单方法是使用 Object 构造函数。目前不推荐这种方法。

var object = new Object();

(2)对象的创建方法:

Object 的 create 方法通过将原型对象作为参数传递来创建一个新对象

var object = Object.create(null);

(3)对象字面量语法:

当传递 null 作为参数时,对象字面量语法等效于 create 方法

var object = {};

(4)函数构造器:

创建任何函数并应用 new 运算符来创建对象实例,

function Person(name){
   var object = {};
   object.name=name;
   object.age=21;
   return object;
}
var object = new Person("Sudheer");

(5)带有原型的函数构造函数:

这类似于函数构造函数,但它使用原型作为其属性和方法,

function Person(){}
Person.prototype.name = "Sudheer";
var object = new Person();

这等效于使用具有函数原型的对象创建方法创建的实例,然后使用实例和参数作为参数调用该函数。

function func {};
 
new func(x, y, z);

(或者)

作者:海拥
链接:https://www.nowcoder.com/discuss/991813#1
来源:牛客网

// 使用函数原型创建一个新实例。
var newInstance = Object.create(func.prototype)
 
// 调用函数
var result = func.call(newInstance, x, y, z),
 
// 如果结果是非空对象,则使用它,否则只使用新实例。
console.log(result && typeof result === 'object' ? result : newInstance);

(6)ES6 类语法:

ES6 引入类特性来创建对象

class Person {
   constructor(name) {
      this.name = name;
   }
}
 
var object = new Person("Sudheer");

(7)单例模式:

Singleton 是一个只能实例化一次的对象。对其构造函数的重复调用返回相同的实例,这样可以确保它们不会意外创建多个实例。

  var object = new function(){
     this.name = "Sudheer";
  }

terry

这个人很懒,什么都没有留下~

Recent Posts

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

4 天 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

2 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

3 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

3 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

3 周 ago

聊聊React和Vue组件更新的实现及区别

React 和 Vue 都是当…

4 周 ago