|
2 | 2 |
|
3 | 3 | // Predict the output of the following code: |
4 | 4 | // =============> Write your prediction here |
5 | | -// alright! from the sake of the function name, I can predict that it will successfully get the last digit |
6 | | -// oh hang-on, where is the parameter???? this programmer must be tired or "coding while eating"... careful aye.. holiday is coming. |
7 | 5 |
|
8 | | -// const num = 103; |
| 6 | +const num = 103; |
9 | 7 |
|
10 | | -// function getLastDigit() { |
11 | | -// return num.toString().slice(-1); |
12 | | -// } |
| 8 | +function getLastDigit() { |
| 9 | + return num.toString().slice(-1); |
| 10 | +} |
13 | 11 |
|
14 | | -// console.log(`The last digit of 42 is ${getLastDigit(42)}`); |
15 | | -// console.log(`The last digit of 105 is ${getLastDigit(105)}`); |
16 | | -// console.log(`The last digit of 806 is ${getLastDigit(806)}`); |
| 12 | +console.log(`The last digit of 42 is ${getLastDigit(42)}`); |
| 13 | +console.log(`The last digit of 105 is ${getLastDigit(105)}`); |
| 14 | +console.log(`The last digit of 806 is ${getLastDigit(806)}`); |
17 | 15 |
|
18 | 16 | // Now run the code and compare the output to your prediction |
19 | 17 | // =============> write the output here |
20 | | -// nope.. It runs as predicted :) xixixiixi... that way we are in this "debugging" session. |
21 | | -// it runs but no syntax error but the output are not correct. |
22 | | - |
23 | 18 | // Explain why the output is the way it is |
24 | 19 | // =============> write your explanation here |
25 | | -// the function does not get any "define parameter", like nothing, so it tries to the "num" in global variable |
26 | | -// that is given just before the function that is const num = 103; |
27 | | -// so, every time that function is called, it will use num 103 as parameter |
28 | | - |
29 | 20 | // Finally, correct the code to fix the problem |
30 | 21 | // =============> write your new code here |
31 | | -const num = 103; |
32 | | - |
33 | | -function getLastDigit(num) { |
34 | | - return num.toString().slice(-1); |
35 | | -} |
36 | | - |
37 | | -console.log(`The last digit of 42 is ${getLastDigit(42)}`); |
38 | | -console.log(`The last digit of 105 is ${getLastDigit(105)}`); |
39 | | -console.log(`The last digit of 806 is ${getLastDigit(806)}`); |
40 | 22 |
|
41 | 23 | // This program should tell the user the last digit of each number. |
42 | 24 | // Explain why getLastDigit is not working properly - correct the problem |
43 | | -// no syntax error just logic error :) because, sometime we need to manipulate the function just like that. BTW that is not save anyway. |
0 commit comments