JavaScript 面向对象的 私有成员和公开成员
更新时间:2010年05月13日 16:36:14 作者:
这节来说下JavaScript的私有成员和公开成员,虽然JavaScript没有private和public关键字,但还是那句话——作为开发人员我们要有面向对象的思想!
其实很简单,废话少说,看了下面的代码及注释相信你就会一目了然!
//声明类,就是一个方法,其实在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中,命名空间、类、成员.... 一切皆对象
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面象对象成员、共享成员变量实验
- js对象内部访问this修饰的成员函数示例
- JavaScript 面向对象的之私有成员和公开成员
- JavaScript 对象成员的可见性说明
- JS实现的Object数组去重功能示例【数组成员为Object对象】
- javascript面向对象之定义成员方法实例分析
- javascript面向对象之共享成员属性与方法及prototype关键字用法
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
- JS 面向对象之神奇的prototype
- js面向对象之公有、私有、静态属性和方法详解
- js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
- 《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
相关文章
详解new function(){}和function(){}() 区别分析
只要 new 表达式之后的 constructor 返回(return)一个引用对象(数组,对象,函数等),都将覆盖new创建的匿名对象,如果返回(return)一个原始类型(无 return 时其实为 return 原始类型 undefined),那么就返回 new 创建的匿名对象。2008-03-03JavaScript isPrototypeOf和hasOwnProperty使用区别
JavaScript isPrototypeOf和hasOwnProperty的使用技巧,需要的朋友的朋友可以参考下。2010-03-03
最新评论