好程序员教程分享Javascript设计模式

简介:   好程序员教程分享Javascript设计模式方法一 对象字面量表示法  在对象字面量表示法中,一个对象被描述为一组包含在大括号中,以逗号分隔的 name/value 对。对象内的名称可以是字符串或标识符,后面跟着一个冒号。

  好程序员教程分享Javascript设计模式
方法一 对象字面量表示法
  在对象字面量表示法中,一个对象被描述为一组包含在大括号中,以逗号分隔的 name/value 对。对象内的名称可以是字符串或标识符,后面跟着一个冒号。对象中最后一个 name/value 对不加逗号,否则会出错。

  /**
1.

  * 使用字面量表示法定义模块


2.

  */


3.

  var myModule = {


4.

  myProperty: "someValue",


5.

  myConfig: {


6.

  useCaching: true,


7.

  language: "en"


8.

  },


9.

  myMethod: function () {


10.

  console.log("the first method");


11.

  },


12.

  myMethod2: function () {


13.

  console.log("the second method");


14.

  },


15.

  };

  console.log(myModule.myProperty); // someValue
1.

  console.log(myModule.myConfig); // {useCaching: true, language: 'en'}


2.

  console.log(myModule.myConfig.useCaching); // true


3.

  myModule.myMethod(); // the first method


4.

  myModule.myMethod2(); // the second method

  方法二 Module模式
  Module模式使用闭包封装“私有”状态和组织。它提供了一种包装混合公有/私有方法和变量的方式
  ,防止其污染全局命名空间,防止其泄露到全局作用域。通过该模式,只需返回一个公有API,而其他的一切则都维持在私有闭包里。
  /**
1.

  * Module方法定义


2.

  */


3.

  var myNameSpace = (function () {


4.

  // 私有变量


5.

  var myPrivateVar = 0;


6.

  // 私有函数


7.

  var myPrivateMethod = function (foo) {


8.

  console.log(foo);


9.

  };


10.

  // 公有API


11.

  return {


12.

  // 公有变量


13.

  myPublicVar: "foo",


14.

  // 公有方法


15.

  myPublicFunction: function (bar) {


16.

  // 操作私有变量


17.

  myPrivateVar ++;


18.

  // 调用私有函数


19.

  myPrivateMethod(bar);


20.

  },


21.

  // 公有方法二


22.

  myPublicFunction2: function () {


23.

  console.log("success");


24.

  }


25.

  };


26.

  }) ();

  console.log(myNameSpace.myPrivateVar); // undefined
1.
2.

  console.log(myNameSpace.myPrivateVar); // undefined


3.

  console.log(myNameSpace.myPublicVar); // foo


4.

  console.log(myNameSpace.myPublicFunction); // Function


5.

  myNameSpace.myPublicFunction2(); // success


6.

  myNameSpace.myPublicFunction("i am first"); // i am first

相关文章
|
5月前
|
设计模式 缓存 安全
【高薪程序员必看】万字长文拆解Java并发编程!(8):设计模式-享元模式设计指南
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发编程中的经典对象复用设计模式-享元模式,废话不多说让我们直接开始。
109 0
|
4月前
|
机器学习/深度学习 JavaScript 前端开发
JS进阶教程:递归函数原理与篇例解析
通过对这些代码示例的学习,我们已经了解了递归的原理以及递归在JS中的应用方法。递归虽然有着理论升华,但弄清它的核心思想并不难。举个随手可见的例子,火影鸣人做的影分身,你看到的都是同一个鸣人,但他们的行为却能在全局产生影响,这不就是递归吗?雾里看花,透过其间你或许已经深入了递归的魅力之中。
162 19
|
7月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
5904 24
|
8月前
|
设计模式 JavaScript 算法
浅谈几种js设计模式
设计模式是软件开发中的宝贵工具,能够提高代码的可维护性和扩展性。通过单例模式、工厂模式、观察者模式和策略模式,我们可以解决不同场景下的实际问题,编写更加优雅和高效的代码。
180 8
|
10月前
|
设计模式 Java Kotlin
Kotlin教程笔记(56) - 改良设计模式 - 装饰者模式
Kotlin教程笔记(56) - 改良设计模式 - 装饰者模式
111 2
|
10月前
|
设计模式 安全 Java
Kotlin教程笔记(57) - 改良设计模式 - 单例模式
Kotlin教程笔记(57) - 改良设计模式 - 单例模式
112 2
|
11月前
|
设计模式 Java Kotlin
Kotlin教程笔记(54) - 改良设计模式 - 迭代器模式
Kotlin教程笔记(54) - 改良设计模式 - 迭代器模式
107 2
|
11月前
|
设计模式 Java API
Kotlin教程笔记(50) - 改良设计模式 - 工厂模式
Kotlin教程笔记(50) - 改良设计模式 - 工厂模式
91 2
|
11月前
|
设计模式 算法 Kotlin
Kotlin教程笔记(53) - 改良设计模式 - 策略模式
Kotlin教程笔记(53) - 改良设计模式 - 策略模式
101 1
|
11月前
|
设计模式 监控 Java
Kotlin教程笔记(52) - 改良设计模式 - 观察者模式
Kotlin教程笔记(52) - 改良设计模式 - 观察者模式
87 1