早些天写过了类的实现,接着我们看看的静态类的实现。这东西在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
相关推荐
通过引入了Class对象,可以创建拥有私有函数,私有属性,函数实现对外不可见的能力,私有属性以及私有函数只有内部才可以调用
//定义父类及公有、私有、静态属性及方法 function parent(){ var pname = "private";//私有属性 var pfun = function(){//私有方法 console.log("调用类的私有方法"); } this.getName=function(name){//公
但在 JavaScript 中,确没有在语法特性上对私有成员提供支持, 这也使得开发人员使出了各种奇技淫巧去实现 JS 中的私有成员,以下将介绍下目前实现 JS 私有成员特性的几个方案以及它们之间的优缺点对比。 现有的一些...
它的目的是使直接使用 JS 原型变得容易,并通过封装私有状态和实现细节来帮助您创建干净的对象 API。 它还使您能够利用 JS 作为具有串联继承的真正无类语言。 Protomatter 通过创建原型对象而不是构造函数来帮助您...
基于PHP与JavaScript的安全私有聊天软件设计与实现
我们知道JS中私有属性的实现本质就是 var + closure。如下 代码如下:function Person(n, a){ // public this.name = n; // private var age = a; this.getName = function(){ return this.name; } this.getAge = ...
使用JavaScript实现的私有区块链 当前,大多数功能都已实现,但该项目仍在开发中。 无论如何,它应该处于中间阶段。 要运行区块链,只需运行Main.js。 如有任何疑问,请随时与我联系@kaanjenkinsturan
详解ES6实现类的私有变量的几种写法 闭包实现类的私有变量方式 通过 new 关键字 person 的构造函数内部的 this 将会指向 Tom,开辟新空间,再次全部执行一遍, class Person{ constructor(name){ let _num = ...
Node.js里面的内置模块和自定义模块的实现 一、Commonjs ... 在nodejs中将公共的功能抽离为单独的js文件作为模块,在外部是没有办法访问的(类似后端的私有的属性和方法);要想使用模块,就必
私有属性 私有属性是面向对象编程(OOP)中非常...class被认为是JS的一种语法糖,它为JavaScript带来了用面向对象的思想描述一个实体的能力。但似乎还远远不够,class的能力远没满足JS开发者们的期待。于是,TC39的
Verdaccio是sinopia开源...是一个 Node.js创建的轻量的私有npm代理注册源(proxy registry)此时如果我们想再次切换到淘宝或者其他的镜像地址,来回切换过于麻烦。这个工具来管理我们的源地址,可以查看和切换地址。
Javascript实现基于OpenAI ChatGPT模型API的前端项目,可进行私有化部署+源代码+文档说明 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩...
但同时,JavaScript 在 ES2015 发布的时候已经在考虑私有化的问题了,所以要实现私有成员也并非毫无基础。 坑 首先挖个坑 —— 这是一段 JS 代码,BusinessView 中要干两件事情,即对表单和地图进行布局。 代表将 _...
尽管js可以想面向对象那样去构造对象,隐藏私有方法,但需求变化的往往比你写程序还要快时,就连设计js对象的时间也没有了,所以我比较倾向于用js私有函数和js方法;jquery私有函数和jquery对外暴露方法的形式也可以...
JavaScript作为一门浏览器语言的核心思想;...如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。
如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。 《JavaScript面向对象编程指南》着重介绍...
在阅读 《ECMAScript 6 入门》的时候,零散的看到有私有变量的实现,所以在此总结一篇。 1. 约定 实现 class Example { constructor() { this._private = 'private'; } getName() { return this._private }...