从类创建实例

时间:2014-02-06 14:58:45

标签: javascript terminology

我见过两种创建实例的方法:

方法1

function Contact(first, last) {
this.firstName = first;
this.lastName = last;
this.fullName = function() {
    return this.firstName + " " + this.lastName;
    };
}

方法2

var Associate = function(first, last) {
this.firstName = first;
this.lastName = last;
this.fullName = function() {
    return this.firstName + " " + this.lastName;
    };
};

第一种优于另一种是否有任何好处?

这些术语的正确用法是什么?我相信它们应该被称为“对象构造函数”,但我也看到它们被称为类。

2 个答案:

答案 0 :(得分:1)

方法1是函数定义,而方法2是分配给变量的函数表达式。两人最终都做了类似的事情,但有不同之处:

  • 事件的顺序不同(参见:吊装)
  • 方法2未设置函数的name参数

关于术语 - “构造函数”是这些术语的常用术语:

var foo = new Contact();
console.log(foo.constructor === Contact) // true

从技术上讲,这个功能并没有什么特别之处。惯例是将用作构造函数的函数大写。

答案 1 :(得分:-1)

方法1和方法2在语法上都是正确的,但是当你想在Javascript中创建类时,方法1就像标准一样。

方法1提供更好的可读性。

当您需要将函数传递给程序的其他部分时,方法2适用于函数变量。