初面网初面网

模块模式

严格来说,这不属于经典23中设计模式的一种。它的实现基于js对模块化的支持。

模块模式能够使一个单独的对象拥有公共/私有的方法和变量,从而使得多个域可以有同名变量而不冲突。

  • 闭包写法
const obj = (function(){
  var count = 0
  return{
    increase(){
      return ++count
    }
    decrease(){
      return --count
    }
  }
})()

console.log(obj)
  • ES6
/*
js文件中
export default{
  name: "moduleA",
  test(){
    return "test"
  }
}
*/

// 其他js文件中
import moduleA from 'js路径'
console.log(moduleA)

更新于 2025/2/26