@@ -321,4 +321,66 @@ pickOne(cry, rage)
321321*/
322322
323323// Functions as Arguments ******************************
324- // Example 18
324+ // Example 21
325+ console . log ( '\n' )
326+ function multiplyByNo1 ( num ) {
327+ // Function expression, anonymous functiion
328+ return function ( ) {
329+ console . log ( 'HI!!' )
330+ }
331+ }
332+ const mystery = multiplyByNo1 ( )
333+ console . log ( mystery )
334+ console . log ( mystery ( ) )
335+
336+ console . log ( '\n' )
337+ // Example 22
338+ function multiplyByNo2 ( num ) {
339+ return function ( x ) {
340+ return x * num
341+ }
342+ }
343+ // Stores 3 in the func multiplyByNo2(num) variable
344+ const triple = multiplyByNo2 ( 3 )
345+ console . log ( triple ( 6 ) ) // 18, x * num, 6 * 3
346+ console . log ( triple ( 2 ) ) // 6, x * num, 2 * 3
347+ console . log ( triple ( 9 ) ) // 27, x * num, 9 * 3
348+
349+ console . log ( '\n' )
350+ // Stores 2 in the func multiplyByNo2(num) variable
351+ const double = multiplyByNo2 ( 2 )
352+ console . log ( double ( 5 ) ) // 10, x * num, 5 * 2
353+ console . log ( double ( 3 ) ) // 6, x * num, 3 * 2
354+
355+ console . log ( '\n' )
356+ const halve = multiplyByNo2 ( 0.5 )
357+ console . log ( halve ( 9 ) ) // 4.5, x * num, 9 * 0.5
358+
359+ console . log ( '\n' )
360+ // Example 23
361+ function makeBetweenFunc2 ( x , y ) {
362+ return function ( num ) {
363+ if ( num >= x && num <= y ) {
364+ return true
365+ }
366+ return false
367+ }
368+ }
369+ // Short syntax of makeBetweenFunc2
370+ function makeBetweenFunc ( x , y ) {
371+ return function ( num ) {
372+ return num >= x && num <= y
373+ }
374+ }
375+ const isChild = makeBetweenFunc ( 0 , 18 )
376+ console . log ( isChild ( 17 ) ) // true
377+ console . log ( isChild ( 99 ) ) // false
378+ console . log ( '\n' )
379+ const isInNineties = makeBetweenFunc ( 1990 , 1999 )
380+ console . log ( isInNineties ( 1989 ) ) // false
381+ console . log ( isInNineties ( 1992 ) ) // true
382+
383+ console . log ( '\n' )
384+ const isNiceWeather = makeBetweenFunc ( 60 , 79 )
385+ console . log ( isNiceWeather ( 45 ) ) // false
386+ console . log ( isNiceWeather ( 76 ) ) // true
0 commit comments