JavaScript 学习笔记

来源:互联网 发布:程序员专用计算器在线 编辑:程序博客网 时间:2024/06/05 03:27

一、类的定义

在JavaScript中,可以用函数的方法定义类,这样做的好处是,不用每次建立对象的新实例时都要从零开始创建。这里的类实际上是函数,这个函数同样被当作类的构造函数来使用。例如

function newClass(){

this.firstName = "Jason";

this.sayName = function(){

alert(this.firstName);

}

}

var nc = new newClass();

nc.sayName();

当执行到nc.sayName()时,会弹出“Jason”。这就为newClass对象定义了一个类。但是,这个方法引出了一个问题:newClass的每一个实例都有一个firstName副本和sayName()副本,那么每个实例都占用了更多的内存。我们可以使用原型(prototype)解决这一问题。它的工作方式是:当你构造一个对象的新实例时,定义在对象的原型中的所有属性和方法,在运行时都会附着在那个新的实例上。

function newClass(){
  this.firstName = "Jason";
 
}
  newClass.prototype.sayName = function(){
  alert(this.firstName);
  }
function test(){
var nc = new newClass();
nc.sayName();
}

与前面例子不同的是,无论你创建多少个newClass实例,在内存中sayName()函数只会有一个单独的实例。this通常指向他所属的那个特定的newClass实例。

0 0
原创粉丝点击