javascript类的访问机制


本文说明了如何在JavaScript中实现基于class的面向对象语言中的私有变量和方法• 私有变量 使用'var' 关键字定义在对象构造函数的内部,只能被私有方法和特权方法访问。
私有函数 使用内嵌(inline)的方式定义在对象构造函数的内部(也可以通过这样的方式定义:var    functionName=function(){...}),只能被特权方法访问。
特权方法(Privileged method) 使用下面的方式定义: this.methodName=function(){...} 可以被对象外的代码访问。
公开属性 使用this.variableName 方式定义,可以在对象外读取和修改。
公开方法 使用Classname.prototype.methodName = function(){...},可以在对象外访问。
原型属性(Prototype Properties)定义方式是: Classname.prototype.propertyName = someValue
静态属性 定义方式是:Classname.propertyName = someValue
 

//普通的类
function class1()
{
 //private fields
 var m_first=1;
 var m_second=2;
 
 
 m_third=3;//全局变量
 
 //private method
 var method1=function()
 {
  alert(m_first);
 }
 var method2=function()
 {
  alert(m_second);
 }
 
 //public
 this.m_five=5;//在公有方法和原型方法中this表示实例对象
 this.method5=function()//在公有方法和原型方法中this表示实例对象
 {
  alert(this.m_five);
 }
 
 //构造函数用于调用私有函数
 //class1//名字可有可无
 {
  method1();
  method2();
 }
}
class1.m_fourth=4;//静态变量
class1.method3=function()//静态成员函数
{
 alert(this.toString);//在静态成员中this表示类本身这里是class1
 alert(this.m_fourth);
}

class1.prototype.method4=function()//public公有方法
{
 alert(this.toString);//在公有方法和原型方法中this表示实例对象
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值