`
wenrunchang123
  • 浏览: 251455 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

(转)js私有方法实现

 
阅读更多

       早些天写过了类的实现,接着我们看看的静态类的实现。这东西在Javascript里用得会非常的频繁,因为针对现在的网页,多个基于同一个类对象的页面不多,往往不同块对象的交互就可以解决问题了,这就需要在JS针对元素定义几个静态类就可以完事了,进入正题。
这次我们直接看例子:

/***定义静态类***/
var Core = {};
Core.StaticClass = (function(){
    var Return = {
        Property: "Test Static Property",    //公有属性
        Method: function(){    //公有方法
            alert(_Field);    //调用私用字段
            privateMethod();    //调用私用方法
        }
    };    //定义返回的公有对象
    
    var _Field = "Test Static Field";    //私有字段
    var privateMethod = function(){    //私有方法
        alert(Return.Property);    //调用属性
    }
    
    return Return;    //生成公有静态元素
})();

 

这次,我用的是闭包的方式去实现,其中最重要的一点是reutrn Return; 这里会引伸到值类型与引用类型的概念。在js里,Object就是一个引用类型,在闭包里,我会抛出一个包含有属性与方法的Object的引用,这样,也 可以说是把这个Object抛向了外部,实现了公开。StaticClass这个变量接住了Return引用。 对于闭包内部的私有字段与方法都是没有被抛出的,这样就可以形成一个私有的环境。
很多时候我们都会用这种技巧去对JS进行分块,让程序不会那么的混乱。
上面的例子没这么干过的兄弟们也可以自己去试试。忘了,刚刚那个例子大家可以这么样去试试。
Core.StaticClass.Method();
Core.StaticClass.Property = “Test2″;
Core.StaticClass.Method();

 

这次,我用的是闭包的方式去实现,其中最重要的一点是reutrn Return; 这里会引伸到值类型与引用类型的概念。在js里,Object就是一个引用类型,在闭包里,我会抛出一个包含有属性与方法的Object的引用,这样,也 可以说是把这个Object抛向了外部,实现了公开。StaticClass这个变量接住了Return引用。 对于闭包内部的私有字段与方法都是没有被抛出的,这样就可以形成一个私有的环境。
很多时候我们都会用这种技巧去对JS进行分块,让程序不会那么的混乱。
上面的例子没这么干过的兄弟们也可以自己去试试。忘了,刚刚那个例子大家可以这么样去试试。
Core.StaticClass.Method();
Core.StaticClass.Property = “Test2″;
Core.StaticClass.Method();

 

转自:http://www.css88.com/archives/category/js-and-ria/page/3

分享到:
评论

相关推荐

    JavaScript之私有属性,私有函数,函数实现对外不可见

    1. **闭包**:这是JavaScript中实现私有变量和私有函数最常见的方法。闭包是一种特殊的函数,它可以访问其自身、调用它的函数以及包含它的所有外部变量,即使在其定义的作用域之外也是如此。通过在函数内部定义变量...

    详解JavaScript 新语法之Class 的私有属性与私有方法

    直到ES2019,JavaScript的Class功能相对成熟,但仍有一些面向对象编程中常见的特性尚未被支持,例如私有属性和私有方法。在近年来,ECMAScript 提案,如 proposal-class-fields 和 proposal-private-methods,一直在...

    js基础知识(公有方法、私有方法、特权方法)

    在JavaScript中,私有方法和属性并不是直接提供关键字支持的,而是通过特定的编码模式来实现。最常见的模式是模块模式。 在模块模式中,私有变量被放置在立即执行函数表达式(IIFE)内部,这样这些变量就无法从外部...

    浅谈js继承的实现及公有、私有、静态方法的书写

    本文将深入探讨JavaScript中的继承实现方式以及公有、私有和静态方法的概念。 首先,我们要理解JavaScript中的对象和原型。JavaScript使用原型(prototype)机制来实现继承,这意味着一个对象可以访问其原型对象的...

    远离JS灾难css灾难之 js私有函数和css选择器作为容器.docx

    在结尾,我们可以看到一些相关的文章,例如《js 实现圆形菜单选择器》、《泛谈 JS 规律推断选择器》、《了解 JavaScript 中的选择器》等这些文章都与 js 私有函数和 css 选择器相关,可以供大家参考学习。

    ProtectJSJavaScript中真正私有的属性和方法

    ProtectJS库正是为了解决这一问题而诞生的,它提供了一种在JavaScript中实现私有属性和方法的方法,同时适用于浏览器环境和Node.js环境。 首先,让我们理解什么是闭包。闭包是JavaScript中一个核心的概念,它允许...

    Base.js 库 实现 JS 的对象化编程

    Base.js 是一个JavaScript库,它主要的目标是帮助开发者实现更面向对象的编程风格。在JavaScript这种动态类型的语言中,虽然天然支持原型继承和函数作为对象,但面向对象的特性相对较弱。Base.js 库通过提供一种更加...

    Node.js-private-class保护类私有属性的一个模块

    总结来说,`private-class`是一个用于Node.js的实用工具,它提供了在JavaScript类中创建私有属性和方法的能力。通过使用这个模块,开发者可以更有效地保护类的内部状态,确保代码的安全性和可靠性。在实际项目中,...

    前端js获取阿里云oss私有图片加参数及生成签名signature的sdk

    前端js获取阿里云oss私有图片加参数及生成签名signature的sdk

    基于PHP与JavaScript的安全私有聊天软件设计与实现

    在本文中,我们将深入探讨如何设计并实现一个基于PHP与JavaScript的安全私有聊天软件。这两种技术结合使用,能够创建一个高效、用户友好的实时通信平台,同时确保数据传输过程中的安全性。 首先,PHP(Hypertext ...

    protomatter.js:具有私有属性和私有方法的 JavaScript 对象创建库

    它的目的是使直接使用 JS 原型变得容易,并通过封装私有状态和实现细节来帮助您创建干净的对象 API。 它还使您能够利用 JS 作为具有串联继承的真正无类语言。 Protomatter 通过创建原型对象而不是构造函数来帮助您...

    js面向对象之公有、私有、静态属性和方法详解

    在JavaScript面向对象编程中,理解公有属性、私有属性、静态属性以及相应的方法是非常重要的。这些概念有助于我们更好地组织和封装代码,实现更高效的代码复用以及更严格的访问控制。 公有属性和公有方法 公有属性...

    【JavaScript源代码】详解ES6实现类的私有变量的几种写法.docx

    ### JavaScript ES6 实现类的私有变量方法详解 #### 一、背景介绍 随着ECMAScript 2015(通常称为ES6)的引入,JavaScript语言经历了一次重大更新,提供了许多新特性和改进,其中包括对面向对象编程的支持增强。...

    自定义方法实现msp和json互转(底层实现原理,绝对值)

    本文将深入探讨如何通过自定义方法实现JSON与Map之间的互转,以及在实现过程中涉及的底层原理,特别是使用反射和递归的方法。 首先,我们要理解JSON和Map的基本概念。JSON是一种轻量级的数据交换格式,它允许我们以...

    JavaScript私有变量实例详解

    JavaScript私有变量是一种重要的编程概念,它涉及到函数作用域、闭包和面向对象设计原则。私有变量在函数内部定义,不能直接从函数外部访问,这有助于保护数据,防止不必要的篡改,确保代码的安全性和封装性。 在...

    javascript使用闭包模拟对象的私有属性和方法

    总的来说,JavaScript中的闭包提供了实现私有属性和方法的途径。通过内部函数对外部作用域的引用,我们可以保护数据不被直接修改,同时提供有限的访问途径。这种技巧在JavaScript的面向对象编程中非常常见,尤其是在...

Global site tag (gtag.js) - Google Analytics