JavaScript 面向对象的 私有成员和公开成员


其实很简单,废话少说,看了下面的代码及注释相信你就会一目了然!

//声明类,就是一个方法,其实在JavaScript中,命名空间、类、成员.... 一切皆对象
MyClass =function(){
var _this=this;
//私有变量
var aa="11";
//公开变量
this.bb="22";
//私有方法
function fun1(){
alert(aa);
alert(_this.bb);
}
//私有方法
var fun2=function(){
alert(aa);
alert(_this.bb);
}
//公开方法
this.fun3=function(){
alert(aa);
alert(_this.bb);
}
}
//测试如下:
var mc=new MyClass();
mc.aa="AA";//错误
mc.bb="BB";//正确
mc.fun1();//错误
mc.fun2();//错误
mc.fun3();//正确


一言以蔽之:在类的内部
用 var 关键字声明的变量或方法是私有的;
用function 关键字声明的方法是私有的;
用this关键字声明的变量或方法是公开的。

以上说的都是针对于实例类而言的,而对于静态类那就更简单了,JavaScript静态类其实就是一个json对象,所以的它的所有成员都是公开的,都是对外可见的!

作者: 祥叔
出处:http://xumingxiang.cnblogs.com/

Javascript 面向对象 重载
假如我这样定义:functiongetDate(){.....}functiongetDate(date){.....}那么后一个方法将覆盖前一个,虽然不报错。但是我们确实是可以实现重载的,如果你用过jQue

Javascript 面向对象 继承
在JavaScript中实现继承可以有多种方法,下面说两种常见的。一,call继承,先看代码:先定义一个人类//人类Person=function(){this.name="草泥马";this.eat=function(

javascript 面向对象 function类
如下:functionStudent(){//定义类Student中的字段,并赋予初值,但此字段的访问权限是publicthis.studentNo='s001';this.studentName='小明';this.sex='男';//定义类Student中