有很多方法可以在 javascript 中创建对象,如下所示
对象构造函数:
创建空对象的最简单方法是使用 Object 构造函数。目前不推荐这种方法。
var object = new Object();
对象的创建方法:
Object 的 create 方法通过将原型对象作为参数来创建一个新对象
var object = Object.create(null);
对象字面量语法:
对象字面量语法(或对象初始值设定项)是用大括号括起来的一组以逗号分隔的名称-值对。
var object = { name: "Sudheer" age: 34 };
注意:这是创建对象的最简单方法
函数构造函数:
创建任何函数并应用 new 运算符来创建对象实例,
function Person(name) { this.name = name; this.age = 21; } var object = new Person("Sudheer");
带有原型的函数构造函数:
这类似于函数构造函数,但它使用原型作为它们的属性和方法,
function Person() {} Person.prototype.name = "Sudheer"; var object = new Person();
这等效于使用具有函数原型的对象创建方法创建的实例,然后使用实例和参数作为参数调用该函数。
function func() {}; new func(x, y, z);
(或者)
// Create a new instance using function prototype. var newInstance = Object.create(func.prototype) // Call the function var result = func.call(newInstance, x, y, z), // If the result is a non-null object then use it otherwise just use the new instance. console.log(result && typeof result === 'object' ? result : newInstance);
ES6 类语法:
ES6 引入类特性来创建对象
class Person { constructor(name) { this.name = name; } } var object = new Person("Sudheer");
单例模式:
Singleton 是一个只能被实例化一次的对象。对其构造函数的重复调用返回相同的实例,这样可以确保它们不会意外创建多个实例。
var object = new (function () { this.name = "Sudheer"; })();