js单例模式
来源:互联网 发布:手机知乎怎么注册 编辑:程序博客网 时间:2024/05/09 01:12
<h1>第8章 一个人的寂寞——单例模式</h1> <p>单例模式(Singleton):又被称为单体模式,是只允许实例化一次的对象类。有时我们也用一个对象来规划一个命名空间,井井有条地管理对象上的属性和方法。</p> <p>模块分明:其实在JavaScript中单例模式除了定义命名空间外,还有一个作用就是通过单例模式来管理代码块的各个模块,比如早期百度tangram,雅虎的YUI都是通过单例模式来控制自己每个模块功能的, 比如tangram中定义命名空间为百度,当添加设置元素class方法,插入一个元素方法时,他们会放到dom模块;当添加事件中阻止事件冒泡方法,阻止事件的默认行为方法的时候,会放到event模块里......</p> <script> baidu.dom.addClass //添加元素类 baidu.dom.append //插入元素 baidu.event.stopPropagation //阻止冒泡 baidu.event.preventDefault //阻止默认行为 baidu.event.trim //去除字符串首位空白字符 baidu.string.encodeHTML //将字符串进行html编码 </script> <script> //创建一个小型的代码库 var A = { Util: { util_mathod1: function(){}, util_mathod2: function(){} }, Tool: { tool_method1: function(){}, tool_method2: function(){} }, Ajax: { get: function(){}, post: function(){} }, others: {} } </script> <script> //无法修改的静态变量 var Conf = ( function(){ //私有变量 var conf = { MAX_NUM: 100, MIN_NUM: 10, COUNT: 1000 } //返回取值器对象 return { //取值器方法 get: function( name ){ return conf[ name ] ? conf[ name ] : null; } } } )(); </script> <h1>惰性单例:有时候对于单例对象需要延迟创建,所以在单例中还存在一种延迟创建的形式,也有人称之为“惰性创建”。</h1> <script> //惰性载入单例 var LayzSingle = ( function(){ //单例实例引用 var _instance = null; //单例 var Single = function(){ //这里定义私有属性和方法 return { property: 10, method: function(){} } }; //获取单例对象接口 return function(){ //如果未创建单例将创建单例 if( !_instance ){ _instance = Single(); }; //返回单例 return _instance; } } )() </script>
0 0
- JS单例模式
- js单例模式
- js单例模式
- js单例模式
- JS单例模式
- js 单例模式
- js单例模式
- js单例模式
- js单例模式
- js-单例模式
- js 单例模式
- js单例模式
- 【JS】单例模式
- js: 单例模式
- js单例模式
- js实现单例模式
- js实现单例模式
- Node.js单例模式
- Minimum Absolute Difference in BST
- Linux系统从零到高手的进阶心得
- 论文推荐 推荐系统 Recommender System
- 二叉搜索树、AVL树、B-树、B+树、B*树、红黑树
- 上周热点回顾(2.13-2.19)
- js单例模式
- 操作系统实验之信号量的实现和应用
- 374. Guess Number Higher or Lower
- 5-38 数列求和-加强版 (20分)
- ZOJ 3209 Treasure Map(精确覆盖)
- leeetcode 153. Find Minimum in Rotated Sorted Array
- POJ 2385 Apple Catching 动态规划
- Struts拦截器判断用户是否登陆
- Running GUI apps with Docker