Javascript 定义构造函数的不同方法

Javascript 定义构造函数的不同方法,javascript,jquery,constructor,Javascript,Jquery,Constructor,作为javascript和jQuery的新手,我遇到了两种定义构造函数的方法 首先是这样的。可能是一个简单的javascript构造函数 var赋值器=函数赋值器(对象){ this.title=object.title; this.message=object.message; this.backGround=object.svgBackground; this.content=object.content; this.id='#'+object.title; var className=“

作为javascript和jQuery的新手,我遇到了两种定义构造函数的方法

首先是这样的。可能是一个简单的javascript构造函数

var赋值器=函数赋值器(对象){
this.title=object.title;
this.message=object.message;
this.backGround=object.svgBackground;
this.content=object.content;
this.id='#'+object.title;
var className=“项目标题”;
var tagName=“p”;
$(this.id)。追加(“”);
var className=“项目消息”;
var tagName=“p”;
$(this.id)。追加(“”);
var className=“项目背景”;
var tagName=“p”;
$(this.id)。追加(“”);
var className=“项目内容”;
var tagName=“p”;
$(this.id)。追加(“”);
$(this.id).find('.projects title').append(this.title);
$(this.id).find('.projects message').append(this.message);
$(this.id).find('.projects-background').append(this.background);
$(this.id).find('.projects-content').append(this.content);

};使用es6类语法

class MyGreatClass {

  constructor(){

  }

}

使用es6类语法

class MyGreatClass {

  constructor(){

  }

}

您提供的第一个示例可以用作构造函数,但按照惯例,我们将构造函数方法名称大写,以澄清这种区别(有关更多信息,请参见此处:)。下面是一个
书籍
构造函数的简单示例:

function Book(name, year) {
  this.name = name;
  this.year = '(' + year + ')';
};
您还可以将其分配给变量:

var Book = function(name, year) {
  this.name = name;
  this.year = '(' + year + ')';
};
在本例中,此构造函数可用于创建
Book
实例,如下所示:

var hamlet = new Book('Hamlet', 1603);
您提供的第二个示例不是我所说的构造函数方法,而是jQuery插件。它将通过向jQuery实例附加一个新方法来扩展jQuery实例,以允许您在一个JS文件中调用该方法,如下所示:

$('someSelector').methodToCreate('div', '.someClass', '#someId');

在您给出的示例中使用了一个立即调用的函数表达式,用于封装和保护
$
实例。您可以在此处了解有关如何创建jQuery插件的更多信息:

您提供的第一个示例可以用作构造函数,但按照惯例,我们将构造函数方法名称大写,以澄清这一区别(有关更多信息,请参阅此处:)。下面是一个
书籍
构造函数的简单示例:

function Book(name, year) {
  this.name = name;
  this.year = '(' + year + ')';
};
您还可以将其分配给变量:

var Book = function(name, year) {
  this.name = name;
  this.year = '(' + year + ')';
};
在本例中,此构造函数可用于创建
Book
实例,如下所示:

var hamlet = new Book('Hamlet', 1603);
您提供的第二个示例不是我所说的构造函数方法,而是jQuery插件。它将通过向jQuery实例附加一个新方法来扩展jQuery实例,以允许您在一个JS文件中调用该方法,如下所示:

$('someSelector').methodToCreate('div', '.someClass', '#someId');

在您给出的示例中使用了一个立即调用的函数表达式,用于封装和保护
$
实例。您可以在这里了解有关如何创建jQuery插件的更多信息:

第二个不是真正的构造函数:您不会用
new
调用它。添加一个不使用
this
(除了返回它)的jQuery方法并没有真正意义,因为jQuery方法的全部要点是它们对调用它们的jQuery对象进行操作。第二个不是真正的构造函数:你不会用
new
调用它。添加一个不使用
this
的jQuery方法(除了返回它之外)是没有意义的,因为jQuery方法的全部要点是它们对调用它们的jQuery对象进行操作。“我希望有人能解释为什么我们在第二个函数中需要这种特殊语法。”“我希望有人能解释为什么在第二个函数中需要这种特殊语法。”