Created
March 31, 2019 18:44
-
-
Save joeczar/e57f24a971a77ee128a78085eeaf6d08 to your computer and use it in GitHub Desktop.
JS Bin // source https://jsbin.com/raqiri
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <title>JS Bin</title> | |
| </head> | |
| <body> | |
| <script id="jsbin-javascript"> | |
| /* Get Programming with JavaScript | |
| * Listing 4.12 | |
| * Using functions to add and display tax | |
| */ | |
| var sale1; | |
| var sale2; | |
| var sale3; | |
| var sale; | |
| var calculateTax; | |
| var displaySale; | |
| sale1 = { price: 140, taxRate: 15 }; | |
| sale2 = { price: 40, taxRate: 10 }; | |
| sale3 = { price: 120, taxRate: 20 }; | |
| calculateTax = function () { | |
| sale.tax = sale.price * sale.taxRate / 100; | |
| sale.total = sale.price + sale.tax; | |
| }; | |
| displaySale = function () { | |
| console.log("price = $" + sale.price); | |
| console.log("tax @ " + sale.taxRate + "% = $" + sale.tax); | |
| console.log("total cost = $" + sale.total); | |
| }; | |
| sale = sale1; | |
| calculateTax(); | |
| displaySale(); | |
| sale = sale2; | |
| calculateTax(); | |
| displaySale(); | |
| sale = sale3; | |
| calculateTax(); | |
| displaySale(); | |
| /* Further Adventures | |
| * | |
| * 1) Add a fourth sale object. | |
| * | |
| * 2) Update the code so that tax is calculated | |
| * and the new sale is displayed. | |
| * | |
| * Having two separate functions to calculate tax | |
| * and display sales is good, each has a specific purpose. | |
| * Having to call both functions | |
| * for each sale object is not so good. | |
| * | |
| * 3) Can you change the code so that you don't | |
| * have to call both functions for every sale? | |
| * | |
| */ | |
| </script> | |
| <script id="jsbin-source-javascript" type="text/javascript">/* Get Programming with JavaScript | |
| * Listing 4.12 | |
| * Using functions to add and display tax | |
| */ | |
| var sale1; | |
| var sale2; | |
| var sale3; | |
| var sale; | |
| var calculateTax; | |
| var displaySale; | |
| sale1 = { price: 140, taxRate: 15 }; | |
| sale2 = { price: 40, taxRate: 10 }; | |
| sale3 = { price: 120, taxRate: 20 }; | |
| calculateTax = function () { | |
| sale.tax = sale.price * sale.taxRate / 100; | |
| sale.total = sale.price + sale.tax; | |
| }; | |
| displaySale = function () { | |
| console.log("price = $" + sale.price); | |
| console.log("tax @ " + sale.taxRate + "% = $" + sale.tax); | |
| console.log("total cost = $" + sale.total); | |
| }; | |
| sale = sale1; | |
| calculateTax(); | |
| displaySale(); | |
| sale = sale2; | |
| calculateTax(); | |
| displaySale(); | |
| sale = sale3; | |
| calculateTax(); | |
| displaySale(); | |
| /* Further Adventures | |
| * | |
| * 1) Add a fourth sale object. | |
| * | |
| * 2) Update the code so that tax is calculated | |
| * and the new sale is displayed. | |
| * | |
| * Having two separate functions to calculate tax | |
| * and display sales is good, each has a specific purpose. | |
| * Having to call both functions | |
| * for each sale object is not so good. | |
| * | |
| * 3) Can you change the code so that you don't | |
| * have to call both functions for every sale? | |
| * | |
| */</script></body> | |
| </html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* Get Programming with JavaScript | |
| * Listing 4.12 | |
| * Using functions to add and display tax | |
| */ | |
| var sale1; | |
| var sale2; | |
| var sale3; | |
| var sale; | |
| var calculateTax; | |
| var displaySale; | |
| sale1 = { price: 140, taxRate: 15 }; | |
| sale2 = { price: 40, taxRate: 10 }; | |
| sale3 = { price: 120, taxRate: 20 }; | |
| calculateTax = function () { | |
| sale.tax = sale.price * sale.taxRate / 100; | |
| sale.total = sale.price + sale.tax; | |
| }; | |
| displaySale = function () { | |
| console.log("price = $" + sale.price); | |
| console.log("tax @ " + sale.taxRate + "% = $" + sale.tax); | |
| console.log("total cost = $" + sale.total); | |
| }; | |
| sale = sale1; | |
| calculateTax(); | |
| displaySale(); | |
| sale = sale2; | |
| calculateTax(); | |
| displaySale(); | |
| sale = sale3; | |
| calculateTax(); | |
| displaySale(); | |
| /* Further Adventures | |
| * | |
| * 1) Add a fourth sale object. | |
| * | |
| * 2) Update the code so that tax is calculated | |
| * and the new sale is displayed. | |
| * | |
| * Having two separate functions to calculate tax | |
| * and display sales is good, each has a specific purpose. | |
| * Having to call both functions | |
| * for each sale object is not so good. | |
| * | |
| * 3) Can you change the code so that you don't | |
| * have to call both functions for every sale? | |
| * | |
| */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment