官术网_书友最值得收藏!

Re-factoring to a more modularized approach

Let's consider re-factoring the two functions that we looked at previously and putting them together in a more specialized package (class or module) called, CalculationHandler, as shown below:

function CalculationHandler(){
  CalculationHandler.result = null;
}

CalculationHandler.doAddition = function(num1, num2){
  return num1 + num2;
};

CalculationHandler.doSubtraction = function(num1, num2){

  if(num1 > num2){
    CalculationHandler.result = num1 - num2;

  }else{
    CalculationHandler.result = num2 - num1; 
  }
  return CalculationHandler.result;

};

console.log(CalculationHandler.doAddition(3,2)); // displays 5
console.log(CalculationHandler.doSubtraction(3,2)); // displays 1

As you can see in this "module" (and I use the term loosely here; you will see why in later chapters), I am using a function object and adding properties (methods) to this object. This methods do specialized tasks related to the overall functionality of the object (module), such as addition and subtraction.

Note

A note about our module here

If you are more experienced in JavaScript programming, you are probably thinking that the way I have created this module is probably not the best way to create a real module in JavaScript, and you are right! But for now, the big idea here is that any piece of code that does a specialized task can be tagged as a module, for the most part.

However, there are certainly better ways to write more robust and extensible modules in JavaScript. For instance, creating a module can be accomplished much better by using the Module Design Pattern, which we will get to explore a lot further in later chapters of this book.

主站蜘蛛池模板: 云霄县| 广宁县| 兴海县| 灵石县| 东方市| 太谷县| 阿鲁科尔沁旗| 启东市| 抚顺县| 阳曲县| 太湖县| 时尚| 青铜峡市| 和硕县| 鹿邑县| 马公市| 保德县| 宁陕县| 北海市| 高雄县| 温州市| 修水县| 临湘市| 长岛县| 夏邑县| 荣昌县| 泾川县| 渭南市| 云浮市| 白玉县| 邵阳县| 海林市| 都匀市| 大同市| 嘉禾县| 灌云县| 云浮市| 开化县| 临邑县| 文安县| 新竹市|