JavaScript 学习笔记

本文介绍了JavaScript中类的定义方法及如何利用原型优化内存使用。通过将方法定义在原型上,可以确保所有实例共享同一个方法实现,从而减少内存占用。

一、类的定义

在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实例。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值