早些天写过了类的实现,接着我们看看的静态类的实现。这东西在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
相关推荐
1. **闭包**:这是JavaScript中实现私有变量和私有函数最常见的方法。闭包是一种特殊的函数,它可以访问其自身、调用它的函数以及包含它的所有外部变量,即使在其定义的作用域之外也是如此。通过在函数内部定义变量...
直到ES2019,JavaScript的Class功能相对成熟,但仍有一些面向对象编程中常见的特性尚未被支持,例如私有属性和私有方法。在近年来,ECMAScript 提案,如 proposal-class-fields 和 proposal-private-methods,一直在...
在JavaScript中,私有方法和属性并不是直接提供关键字支持的,而是通过特定的编码模式来实现。最常见的模式是模块模式。 在模块模式中,私有变量被放置在立即执行函数表达式(IIFE)内部,这样这些变量就无法从外部...
本文将深入探讨JavaScript中的继承实现方式以及公有、私有和静态方法的概念。 首先,我们要理解JavaScript中的对象和原型。JavaScript使用原型(prototype)机制来实现继承,这意味着一个对象可以访问其原型对象的...
在结尾,我们可以看到一些相关的文章,例如《js 实现圆形菜单选择器》、《泛谈 JS 规律推断选择器》、《了解 JavaScript 中的选择器》等这些文章都与 js 私有函数和 css 选择器相关,可以供大家参考学习。
ProtectJS库正是为了解决这一问题而诞生的,它提供了一种在JavaScript中实现私有属性和方法的方法,同时适用于浏览器环境和Node.js环境。 首先,让我们理解什么是闭包。闭包是JavaScript中一个核心的概念,它允许...
Base.js 是一个JavaScript库,它主要的目标是帮助开发者实现更面向对象的编程风格。在JavaScript这种动态类型的语言中,虽然天然支持原型继承和函数作为对象,但面向对象的特性相对较弱。Base.js 库通过提供一种更加...
总结来说,`private-class`是一个用于Node.js的实用工具,它提供了在JavaScript类中创建私有属性和方法的能力。通过使用这个模块,开发者可以更有效地保护类的内部状态,确保代码的安全性和可靠性。在实际项目中,...
前端js获取阿里云oss私有图片加参数及生成签名signature的sdk
在本文中,我们将深入探讨如何设计并实现一个基于PHP与JavaScript的安全私有聊天软件。这两种技术结合使用,能够创建一个高效、用户友好的实时通信平台,同时确保数据传输过程中的安全性。 首先,PHP(Hypertext ...
它的目的是使直接使用 JS 原型变得容易,并通过封装私有状态和实现细节来帮助您创建干净的对象 API。 它还使您能够利用 JS 作为具有串联继承的真正无类语言。 Protomatter 通过创建原型对象而不是构造函数来帮助您...
在JavaScript面向对象编程中,理解公有属性、私有属性、静态属性以及相应的方法是非常重要的。这些概念有助于我们更好地组织和封装代码,实现更高效的代码复用以及更严格的访问控制。 公有属性和公有方法 公有属性...
### JavaScript ES6 实现类的私有变量方法详解 #### 一、背景介绍 随着ECMAScript 2015(通常称为ES6)的引入,JavaScript语言经历了一次重大更新,提供了许多新特性和改进,其中包括对面向对象编程的支持增强。...
本文将深入探讨如何通过自定义方法实现JSON与Map之间的互转,以及在实现过程中涉及的底层原理,特别是使用反射和递归的方法。 首先,我们要理解JSON和Map的基本概念。JSON是一种轻量级的数据交换格式,它允许我们以...
JavaScript私有变量是一种重要的编程概念,它涉及到函数作用域、闭包和面向对象设计原则。私有变量在函数内部定义,不能直接从函数外部访问,这有助于保护数据,防止不必要的篡改,确保代码的安全性和封装性。 在...
总的来说,JavaScript中的闭包提供了实现私有属性和方法的途径。通过内部函数对外部作用域的引用,我们可以保护数据不被直接修改,同时提供有限的访问途径。这种技巧在JavaScript的面向对象编程中非常常见,尤其是在...