我在js中创建了一些对象(a,b,c,... i),如下所示
var a = {x:1};
var b = function(y){this.x = y};
var c = new Object({x:1});
var d = new b(1);
var e = b(1);
var f = (y) => {return {x:y};};
var g = new f(1); // error
var h = f(1);
var i = new a();//error
请解释这些物品的尊重是什么? 为什么有些无效? 我期待在js中与原型相关的高级解释。
答案 0 :(得分:0)
在您创建的所有对象上返回的对象之间没有显着差异,但您创建它们的方式可能不同。另外,对于“new”关键字,您必须调用构造函数:
function NewObject() {
this.value = 0;
}
构造函数类似于其他OO语言中的类。构造函数是Function an Object的一个实例,一个像这样创建的对象:
let x = {};
是Object的实例,但不是Function的实例。