Posted in Javascript onFebruary 23, 2010
先看javascript的普通函数用法
function sum(a,b){ var c = 10; function add(){ c++; } add(); return a + b + c; } var d = sum(4,5); alert(d) // 20
可以看出,外部要和函数sum进行交互,只能通过调用和返回值形式,无法访问里面的参数c和内部函数add()。这对于函数来说属于正常逻辑。
接下来看javascript的类用法
function sum(pa,pb) { this.a = pa; this.b = pb; this.show = function(){ alert(this.a + this.b); } } var t = new sum(4,5); t.show(); alert(t.a);
这里通过new创建了sum的对象t。通过t可以调用方法show来显示参数和,也可以直接取参数信息
结合两种方式就产生私有变量和方法的效果。
function sum(pa,pb) { var __c = 10; //私有变量 function __addc(){ //私有方法 __c++; } this.a = pa; //公有变量 this.b = pb; //公有变量 this.setc = function(pc){ //公有方法 __c = pc; __addc(); } this.show = function(){ //公有方法 alert(this.a + this.b + __c); } } var t = new sum(4,5); t.setc(1); t.show();
从这个例子可以看出,外部无法调用var声明的变量和方法,但外部可以通过公有方法为桥梁实现与私有变量交互
建议:为了便于阅读与区分,私有变量和方法在命名前加一个或者两个下划线。
javascript入门基础之私有变量
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@