我见过两种创建实例的方法:
方法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;
};
};
第一种优于另一种是否有任何好处?
这些术语的正确用法是什么?我相信它们应该被称为“对象构造函数”,但我也看到它们被称为类。
答案 0 :(得分:1)
方法1是函数定义,而方法2是分配给变量的函数表达式。两人最终都做了类似的事情,但有不同之处:
name
参数关于术语 - “构造函数”是这些术语的常用术语:
var foo = new Contact();
console.log(foo.constructor === Contact) // true
从技术上讲,这个功能并没有什么特别之处。惯例是将用作构造函数的函数大写。
答案 1 :(得分:-1)
方法1和方法2在语法上都是正确的,但是当你想在Javascript中创建类时,方法1就像标准一样。
方法1提供更好的可读性。
当您需要将函数传递给程序的其他部分时,方法2适用于函数变量。