- 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.
- Redis Applied Design Patterns
- Developing Mobile Web ArcGIS Applications
- 我的第一本算法書
- Django Design Patterns and Best Practices
- Python爬蟲開發(fā)與項目實戰(zhàn)
- 自然語言處理Python進階
- SQL Server 2016數(shù)據(jù)庫應(yīng)用與開發(fā)
- C和C++游戲趣味編程
- Scala for Machine Learning(Second Edition)
- Windows Embedded CE 6.0程序設(shè)計實戰(zhàn)
- App Inventor創(chuàng)意趣味編程進階
- 現(xiàn)代C++編程實戰(zhàn):132個核心技巧示例(原書第2版)
- PrimeFaces Blueprints
- 硬件產(chǎn)品設(shè)計與開發(fā):從原型到交付
- Backbone.js Testing