- Mastering JavaScript
- Ved Antani
- 284字
- 2021-07-16 09:31:29
Chapter 2. Functions, Closures, and Modules
In the previous chapter, we deliberately did not discuss certain aspects of JavaScript. These are some of the features of the language that give JavaScript its power and elegance. If you are an intermediate- or advanced-level JavaScript programmer, you may be actively using objects and functions. In many cases, however, developers stumble at these fundamental levels and develop a half-baked or sometimes wrong understanding of the core JavaScript constructs. There is generally a very poor understanding of the concept of closures in JavaScript, due to which many programmers cannot use the functional aspects of JavaScript very well. In JavaScript, there is a strong interconnection between objects, functions, and closures. Understanding the strong relationship between these three concepts can vastly improve our JavaScript programming ability, giving us a strong foundation for any type of application development.
Functions are fundamental to JavaScript. Understanding functions in JavaScript is the single most important weapon in your arsenal. The most important fact about functions is that in JavaScript, functions are first-class objects. They are treated like any other JavaScript object. Just like other JavaScript data types, they can be referenced by variables, declared with literals, and even passed as function parameters.
As with any other object in JavaScript, functions have the following capabilities:
- They can be created via literals
- They can be assigned to variables, array entries, and properties of other objects
- They can be passed as arguments to functions
- They can be returned as values from functions
- They can possess properties that can be dynamically created and assigned
We will talk about each of these unique abilities of a JavaScript function in this chapter and the rest of the book.
- Clojure Programming Cookbook
- Learn TypeScript 3 by Building Web Applications
- Practical UX Design
- Learning RabbitMQ
- C++新經典
- 學習OpenCV 4:基于Python的算法實戰
- Service Mesh實戰:基于Linkerd和Kubernetes的微服務實踐
- IoT Projects with Bluetooth Low Energy
- C++ System Programming Cookbook
- 現代C:概念剖析和編程實踐
- 和孩子一起學編程:用Scratch玩Minecraft我的世界
- Unity虛擬現實開發圣典
- GO語言編程從入門到實踐
- 情境微課開發(第2版)
- 小小的Python編程故事