- 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.
- SpringMVC+MyBatis快速開發與項目實戰
- Building a Home Security System with Raspberry Pi
- Magento 2 Theme Design(Second Edition)
- AIRAndroid應用開發實戰
- Web開發的貴族:ASP.NET 3.5+SQL Server 2008
- Java開發入行真功夫
- Raspberry Pi 2 Server Essentials
- Easy Web Development with WaveMaker
- 精通Python自動化編程
- Mastering Data Mining with Python:Find patterns hidden in your data
- C++20高級編程
- 深入理解C指針
- 精通MySQL 8(視頻教學版)
- Android Studio開發實戰:從零基礎到App上線 (移動開發叢書)
- Python 3快速入門與實戰