- Modular Programming with JavaScript
- Sasan Seydnejad
- 248字
- 2021-07-14 10:56:45
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.
- OpenShift開發指南(原書第2版)
- PHP程序設計(慕課版)
- Swift 3 New Features
- 高級C/C++編譯技術(典藏版)
- Unity Shader入門精要
- Python編程與幾何圖形
- 從零開始學Linux編程
- Procedural Content Generation for C++ Game Development
- 速學Python:程序設計從入門到進階
- Node學習指南(第2版)
- Java程序設計與項目案例教程
- Building Dynamics CRM 2015 Dashboards with Power BI
- Laravel Application Development Blueprints
- Node.js實戰:分布式系統中的后端服務開發
- 從“1”開始3D編程