Categories
JavaScript

JavaScript OOP原型对象

JavaScript原型对象

JavaScript是一种基于原型的语言,可促进对象之间相互获取属性和特征。在这里,每个对象都包含一个原型对象。

在JavaScript中,无论何时创建一个函数,原型属性都会自动添加到该函数。该属性是一个原型对象,其中包含构造函数属性。

句法:

ClassName.prototype.methodName

原型对象有什么要求?

每当在JavaScript中创建对象时,其相应功能就会加载到内存中。因此,在每次创建对象时都会创建该函数的新副本。

在基于原型的方法中,所有对象都共享相同的函数。这忽略了为每个对象创建函数的新副本的要求。因此,功能一次被加载到存储器中。

原型链

在JavaScript中,每个对象都包含一个原型对象,该原型对象从中获取属性和方法。同样,对象的原型对象可能包含一个原型对象,该原型对象也获取属性和方法,依此类推。可以将其视为原型链。

JavaScript原型对象示例1

让我们看一个向构造函数添加新方法的示例。

<script>
function Employee(firstName,lastName)
{
  this.firstName=firstName;
  this.lastName=lastName;
}

Employee.prototype.fullName=function()
  {
    return this.firstName+" "+this.lastName;
  }

var employee1=new Employee("Martin","Roy");
var employee2=new Employee("Duke", "William");
document.writeln(employee1.fullName()+"<br>");
document.writeln(employee2.fullName());
</script>

输出:

Martin Roy
Duke William

例子2

让我们看一个向构造函数添加新属性的示例。

<script>
function Employee(firstName,lastName)
{
  this.firstName=firstName;
  this.lastName=lastName;
}

Employee.prototype.company="Javatpoint"

var employee1=new Employee("Martin","Roy");
var employee2=new Employee("Duke", "William");
document.writeln(employee1.firstName+" "+employee1.lastName+" "+employee1.company+"<br>");
document.writeln(employee2.firstName+" "+employee2.lastName+" "+employee2.company);
</script>

输出:

Martin Roy Javatpoint
Duke William Javatpoint
蜀ICP备20006366号
error: 内容受到保护 !!