在小项目中对于JavaScript使用,只要写几个function就行了。但在大型项目中,尤其是在开发追求 良好的用户体验的网站中,如SNS,就会 用到大量的JavaScrpt,有时JavaScript的工作量胜过了C#,这时写一堆function,就会显得很乱,杂乱无章,甚至会出现命名冲突,管理和维 护起来都很麻烦。对于这种情况我们就需要使用面向对象的思想来开发JavaScript。那我们就这样作罢:

这节来说下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对象,所以的它的所有成员都是公开的,都是对外可见的!

最新文章

  1. angular使用select时要注意的坑
  2. 日志系统实战(二)-AOP动态获取运行时数据
  3. SSH框架入门知识总结
  4. Centos配置SS5代理
  5. Mac 系统下类似于 apt-get 的软件包管理器 -- Homebrew
  6. Android webview使用详解
  7. Spring的profile属性
  8. SpriteKit
  9. iOS开发——UI篇Swift篇&UIPickerView
  10. PHP服务器负载判断
  11. Listview控件实现已选择效果
  12. uva Stacks of Flapjacks
  13. innerText和innerHTML的区别
  14. bat脚本-set(setlocal enabledelayedexpansion) 学习
  15. apk的重签名
  16. zf-关于公司框架的时间字段的格式转换问题。。
  17. kvm的sshd起不来
  18. python网络爬虫之beautfiulSoup
  19. Django实现简单分页功能
  20. 用同一台PC的两个网口实现Iperf的server端和client端

热门文章

  1. Microsoft.Web.RedisSessionStateProvider 运行异常问题
  2. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
  3. 系统UINavigationController使用相关参考
  4. [原创]HierarchyView的实现原理和Android设备无法使用HierarchyView的解决方法
  5. 2dtoolkit获取sprite像素大小的方法
  6. VSFTPD添加用户
  7. 个性化EDM数据营销的三大提醒
  8. jsp页面间传递参数 中文乱码问题(zz)
  9. 二十四、【开源】EFW框架Winform前端开发之项目结构说明和调试方法
  10. jQuery---EasyUI小案列