1. JavaScript treats functions as first-class citizens, meaning functions can be passed as arguments to other functions, returned by other functions, and constructed dynamically at runtime. 2. In the document, an example demonstrates dynamically creating function objects to describe animal noises based on data, and passing these functions as arguments to another function. 3. Another example shows a function that returns another function, rather than a value directly, with the returned function providing the desired data when invoked. This allows for abstraction and delayed execution.