Javascript中类和对象之间的区别

Jam*_*Jag 16 javascript oop object

有什么区别

var myView = function () {
//something goes here
};
Run Code Online (Sandbox Code Playgroud)

var myView = function () {
//something goes here
    return {
        a: x,
        b: y
}();
Run Code Online (Sandbox Code Playgroud)

我认为第一个片段创建了一个"动态"类,所以你可以说

var anotherView = new myView();
Run Code Online (Sandbox Code Playgroud)

第二个片段类似于单个"动态"对象,但我不太确定.

And*_*yle 15

JavaScript使用原型继承,所以没有阶级本身.一切都是一个对象; 只是某些对象有一个共同的父对象,当名称解析查找原型链时,会找到其方法/变量.

您的第一个代码段创建了一个名为myView其函数类型的对象.您的第二个片段定义了一个匿名方法,该方法返回一个对象(具有两个属性,a然后b),然后立即调用此方法,将结果分配给myView.所以在第二种情况下,myView是一个具有两个自定义属性的对象.

它可以帮助你阅读道格拉斯克罗克福德在Javascript中原型继承的描述,因为它听起来你对细节有点模糊.