zoukankan      html  css  js  c++  java
  • 面向对象的JavaScript(3):私有成员和公开成员

           在小项目中对于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对象,所以的它的所有成员都是公开的,都是对外可见的!

     
    原文地址:http://www.cnblogs.com/xumingxiang/archive/2010/04/30/1725364.html

    作者 : 徐明祥
    出处:http://www.cnblogs.com/xumingxiang 
    版权:本文版权归作者和博客园共有
    转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
    要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
  • 相关阅读:
    Gothic Revival Portal
    通过CRM API for 3CXPhone与其他应用进行对接
    Asp.net Identity 2.0 作弊条
    ReportViewer作弊条
    定制与扩展Asp.NET 5 MVC内建身份验证机制
    在Dynamics CRM 2015中通过3CX插件(以及3CX windows phone)拨出电话
    在Asp.net MVC中使用Authorization Manager (AzMan)进行Windows用户身份认证
    log4net资料收集
    jQuery 插件开发文章收集
    git &github 快速入门
  • 原文地址:https://www.cnblogs.com/xumingxiang/p/1725364.html
Copyright © 2011-2022 走看看