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

  • 时间:
  • 浏览:0
  • 来源:uu快3诀窍_uu快3app安卓_导航网

  },

2.

10.

7.

  myPublicFunction: function (bar) {

10.

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

方法 一 对象字面量表示法

  在对象字面量表示法中,一另一一个对象被描述为一组包含在大括号中,以逗号分隔的 name/value 对。对象内的名称还也能是字符串或标识符,里边跟着一另一一个冒号。对象中最后一另一一个 name/value 对不加逗号,但会 会出错。

  };

2.

  console.log("the first method");

  useCaching: true,

  },

  // 私有变量

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

2.

  var myModule = {

14.

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

8.

  myMethod2: function () {

  myPublicVar: "foo",

  console.log("success");

  language: "en"

6.

3.

  myMethod: function () {

26.

  myModule.myMethod2(); // the second method

4.

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

1.

2.

5.

21.

5.

  myProperty: "someValue",

  myConfig: {

13.

7.

  // 操作私有变量

12.

11.

  var myPrivateMethod = function (foo) {

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

1.

  */

  */

  return {

  }) ();

  }

  // 公有变量

  var myNameSpace = (function () {

  // 公有API

24.

  },

20.

  // 私有函数

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

4.

6.

19.

3.

15.

17.

  方法 二 Module模式

  Module模式使用闭包封装“私有”状态和组织。它提供了并不是包装混合公有/私有方法 和变量的方法

  ,避免其污染全局命名空间,避免其泄露到全局作用域。通过该模式,只需返回一另一一个公有API,而有些的一切则都维持在私有闭包里。

  /**

1.

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

  var myPrivateVar = 0;

  myPrivateMethod(bar);

  };

9.

5.

11.

3.

18.

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

22.

9.

  // 公有方法 二

4.

  // 公有方法

  myPublicFunction2: function () {

  /**

1.

4.

  myModule.myMethod(); // the first method

6.

3.

12.

  * Module方法 定义

  },

15.

14.

  console.log(foo);

  // 调用私有函数

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

13.

  myPrivateVar ++;

25.

  myNameSpace.myPublicFunction2(); // success

16.

8.

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

  };

  console.log("the second method");

23.