关于Javascript模块

关于Javascript模块,javascript,module,closures,Javascript,Module,Closures,所以,老实说,我对javascript的理解不是最好的。我习惯于操纵DOM,仅此而已。最近,为了提高我的知识和理解力,我潜入了《你不懂javascript》系列 他们提出了闭包的概念。这是我非常熟悉的。然而,我以前从未遇到过模块模式,也没有使用过它。我指的是。当我从实践中学习时,我立即尝试着为自己树立一个成功的榜样。这就是我举的例子。它不起作用 我的期望是控制台应该返回civic的“轿车”类型。然而,我什么也没有遇到。我不太明白为什么。非常感谢您的反馈。您正在使用。module函数返回一个对象,

所以,老实说,我对javascript的理解不是最好的。我习惯于操纵DOM,仅此而已。最近,为了提高我的知识和理解力,我潜入了《你不懂javascript》系列

他们提出了闭包的概念。这是我非常熟悉的。然而,我以前从未遇到过模块模式,也没有使用过它。我指的是。当我从实践中学习时,我立即尝试着为自己树立一个成功的榜样。这就是我举的例子。它不起作用

我的期望是控制台应该返回civic的“轿车”类型。然而,我什么也没有遇到。我不太明白为什么。非常感谢您的反馈。

您正在使用。module函数返回一个对象,该对象公开可用于此模块的方法

功能车辆(){
车轮、门;
//mdoule方法
功能查找类型(车轮、车门){
var numberOfWheels=车轮;
var numberOfDoors=门;
var类型;
//该方法返回结果
开关(车轮数|车门数){
案例4 | 2:
归还“跑车”;
打破
案例4 | 4:
返回“轿车”;
打破
案例18 | 2:
案例18 | 4:
返回“牵引拖车”;
打破
违约:
归还“车辆”;
}
}
//模块的api
返回{
findType:findType
};
}
var civic=车辆();

log(civic.findType(4,4))感谢您的精彩回复和链接资源。我不知道这是一个返回方法的对象。欢迎:)如果你想学习JS,我还推荐JavaScript:好的部分,和。
function vehicle(){
  var wheels, doors;

  function findType(wheels, doors){
      var numberOfWheels = wheels;
      var numberOfDoors = doors;
      var type;

      switch(numberOfWheels | numberOfDoors){
        case 4 | 2:
          type = "sports car";
        break;
        case 4 | 4:
          type = "sedan";
        break;
        case 18 | 2:
        case 18 | 4:
          type = "tractor-trailer";
        break;
        default:
          type = "vehicle";
      }
  }
  return type;
}

var civic = vehicle();
console.log(civic.findType(4,4));