官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 潢川县| 大丰市| 会昌县| 东乡族自治县| 永泰县| 临城县| 乌苏市| 保山市| 南部县| 法库县| 集安市| 南开区| 旬邑县| 广德县| 八宿县| 江都市| 古浪县| 南乐县| 富民县| 柳林县| 芦山县| 台北县| 电白县| 昌宁县| 紫阳县| 合水县| 牡丹江市| 南陵县| 民县| 新巴尔虎右旗| 黎城县| 稷山县| 休宁县| 永定县| 阿拉善左旗| 凌云县| 闽清县| 北安市| 日照市| 绩溪县| 苍南县|