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

  • 时间:
  • 浏览:1
  • 来源:大发彩票快三—大发彩票app

11.

2.

  */

6.

  myMethod: function () {

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

  console.log(foo);

  myModule.myMethod2(); // the second method

14.

15.

  useCaching: true,

  // 公有变量

22.

  myPublicFunction2: function () {

3.

  myConfig: {

25.

2.

24.

13.

  };

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

16.

  // 公有API

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

  // 公有法律方式

  };

19.

4.

  language: "en"

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

1.

2.

  // 私有变量

  myMethod2: function () {

5.

23.

  },

  * Module法律方式定义

6.

5.

3.

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

10.

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

  myPublicFunction: function (bar) {

  return {

  myPrivateVar ++;

13.

  myPublicVar: "foo",

12.

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

  // 调用私有函数

21.

6.

20.

  myNameSpace.myPublicFunction2(); // success

9.

3.

3.

  },

  /**

1.

4.

  // 私有函数

4.

  myPrivateMethod(bar);

  }

15.

8.

17.

  },

  myProperty: "someValue",

18.

  console.log("the first method");

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

1.

4.

  console.log("the second method");

26.

9.

2.

  }) ();

8.

  var myModule = {

12.

  myModule.myMethod(); // the first method

  // 公有法律方式二

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

11.

  var myPrivateMethod = function (foo) {

14.

  };

7.

  法律方式二 Module模式

  Module模式使用闭包封装“私有”情况表和组织。它提供了一种生活包装混合公有/私有法律方式和变量的法律方式

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

  /**

1.

  var myNameSpace = (function () {

  好守护程序运行运行员教程分享Javascript设计模式

法律方式一 对象字面量表示法

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

7.

  */

  var myPrivateVar = 0;

  console.log("success");

5.

10.

  },

  // 操作私有变量