- 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.
- UI設計基礎培訓教程
- Docker and Kubernetes for Java Developers
- Learning Apex Programming
- 編程卓越之道(卷3):軟件工程化
- Network Automation Cookbook
- SQL Server 2016數據庫應用與開發習題解答與上機指導
- SQL基礎教程(視頻教學版)
- 數據結構案例教程(C/C++版)
- Learning Apache Karaf
- Mastering Web Application Development with AngularJS
- 硬件產品設計與開發:從原型到交付
- Fastdata Processing with Spark
- CodeIgniter Web Application Blueprints
- Java7程序設計入門經典
- Mastering PowerCLI