javascript里的封装
用javascript闭包的特性,可以模拟实现私有变量、私有方法。
 var myObject = =(function(){
     var privateValue;
     function privateMethod(){}
     return {
          getValue: function(){
              return privateValue;
          },
          publicMethod: function(){}
     };
 })();
如果继续用在简单工厂的实现里面
 var ObjFactory = (function(){
     function Constructor(){
         var privateValue;
         return {
             getValue: function(){return privateValue;}
         };
     }
     return {
          getInstance: function(){return Constructor();}
     };
 })();
对于接口的封装有利于接口和实现的分离。即使将来改变了实现,不会影响到使用接口的代码
var aService = (function(){
    function realMethod1(){}
    function realMethod2(){}
    return {
        method1: realMethod1,
        method2: realMethod2
    };
})();
javascript里的封装的更多相关文章
- 如何才能通俗易懂的解释javascript里面的"闭包"?
		看了知乎上的话题 如何才能通俗易懂的解释javascript里面的‘闭包’?,受到一些启发,因此结合实例将回答中几个精要的答案做一个简单的分析以便加深理解. 1. "闭包就是跨作用域访问变量 ... 
- JavaScript 里,$ 代表什么?/JQuery是什么语言?/html中用link标签引入css时的中 rel="stylesheet"属性?/EL表达式是什么?
		JavaScript 里,$ 代表什么? 比如说我写一个mouseover事件: $(document).ready(function(){ $("p").mouseover(fu ... 
- javascript里的sleep()方法
		很多编程语言里都有sleep(),delay()等方法,它能让我们的程序不那么着急的去执行下一步操作,而是延迟.等待一段时间.软件开发中经常会遇到需要这样的函数,比如等待几分钟去检查某一事件是否发生. ... 
- 第一百六十一节,封装库--JavaScript,完整封装库文件
		封装库--JavaScript,完整封装库文件 /** *feng_zhuang_ku_1.0版本,js封装库,2016/12/29日:林贵秀 **/ /** 前台调用 * 每次调用$()创建库对象, ... 
- javascript通用事件封装
		随着最近几年Html5的兴起,越来越多的应用采用html5进行实现,一个优秀的网页应用不但需要美观简洁的UI界面,更需要一个良好的交互.网页应用大部分的交互需要用javascript事件进行实现.虽然 ... 
- 我自己的Javascript 库,封装了一些常用函数 Kingwell.js
		我自己的Javascript 库,封装了一些常用函数 Kingwell.js 博客分类: Javascript javascript 库javascript库 现在Javascript库海量,流行的 ... 
- javascript里for循环的一些事情
		今天在给一个学妹调她的代码BUG时,她的问题就是在一个for循环里不清楚流程的具体流向,所以导致了页面怎么调都是有问题,嗯确实你如果不清楚语句流向很轻易就会出问题,所以说for循环不会用或者说用的不恰 ... 
- Javascript里,想把一个整数转换成字符串,字符串长度为2
		Javascript里,想把一个整数转换成字符串,字符串长度为2. 想把一个整数转换成字符串,字符串长度为2,怎么弄?比如 1 => "01"11 => " ... 
- JavaScript里的依赖注入
		JavaScript里的依赖注入 我喜欢引用这句话,“程序是对复杂性的管理”.计算机世界是一个巨大的抽象建筑群.我们简单的包装一些东西然后发布新工具,周而复始.现在思考下,你所使用的语言包括的一些内建 ... 
随机推荐
- SQL Server 的表数据简单操作
			--表数据操作----添加表数据----向现有表添加数据--[use 要操作数据表的数据库名称go]insert [into] 数据表 [(字段名1,字段名2,字段名3, ...)] values(值 ... 
- IUnknown(TVarData(Params[0]).VPointer) as Range
			IUnknown(TVarData(Params[0]).VPointer) as Range 修改为 IUnknown(TVarData(Params[0]).VPointer) as WOrd_ ... 
- 第十章 DOM
			10.1节点层次 html元素通过元素节点表示,特性节点通过特性节点表示,文档类型节点通过文档类型节点访问,这些类型都继承一个基类型. 10.1.1 Node类型 JavaScript中的所有节点类型 ... 
- 5.Struts2中的拦截器
			拦截器是Struts2中的核心,其自带很多很多的拦截器,这里主要介绍一下自定义拦截器,恩多一半情况下呢?我们不需要使用到自定义的拦截器,Struts2本身已经提 供了很多的拦截器供我们使用,对于自定义 ... 
- spring整合freemarker
			一.配置maven <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ... 
- Action名称的搜索顺序
			假设当前的路径的URL是:http://StrutsDemo01/path1/path2/path3/test.action 步骤1.首先寻找命名空间(namespace)为 /path1/path2 ... 
- HRS(CRLF Injection)
			[HRS(CRLF Injection)] CRLF是”回车 + 换行”(\r\n)的简称.在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CR ... 
- POJ 1015 Jury Compromise  2个月后重做,其实这是背包题目
			http://poj.org/problem?id=1015 题目大意:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n个人作为陪审团的候选人,然后再从 ... 
- python自省函数getattr的用法
			getattr是python里的一个内建函数 getattr()这个方法最主要的作用是实现反射机制.也就是说可以通过字符串获取方法实例.这样,你就可以把一个类可能要调用的方法放在配置文件里,在需要的时 ... 
- mysql学习(3)-linux下mysql主从复制
			前言:为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低.为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻 ... 
