Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从类创建实例_Javascript_Terminology - Fatal编程技术网

Javascript 从类创建实例

Javascript 从类创建实例,javascript,terminology,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 = firs

我看到了两种创建实例的方法:

方法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;
    };
};
前者比后者有什么好处吗


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

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

方法1具有更好的可读性


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

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

  • 事件顺序不同(参见:吊装)
  • 方法2不设置函数的
    名称
    参数
关于术语,“构造函数函数”是以下术语的通用术语:

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

从技术上讲,这个函数并没有什么特别之处。约定是将打算用作构造函数的函数大写。

@user1066946问题更多的是在对象构造函数的上下文中。非常感谢您的链接可能重复的是,这是一个重复的问题,应该关闭。