1
00:00:00,000 --> 00:00:04,286
A function in JavaScript is really a

2
00:00:04,286 --> 00:00:06,800
specialized kind of object. And since

3
00:00:06,800 --> 00:00:09,000
functions are objects, they can have

4
00:00:09,000 --> 00:00:11,200
properties and methods, just like any

5
00:00:11,200 --> 00:00:13,667
other object. In this module, we'll first

6
00:00:13,667 --> 00:00:15,857
understand the different ways in which a

7
00:00:15,857 --> 00:00:17,818
function can be created and how the

8
00:00:17,818 --> 00:00:20,000
context is set in each of those cases.

9
00:00:20,000 --> 00:00:21,778
Then we'll look at the call and apply

10
00:00:21,778 --> 00:00:23,800
methods, and how they allow you to

11
00:00:23,800 --> 00:00:26,200
indirectly invoke a function as if it were

12
00:00:26,200 --> 00:00:28,500
a method of some other object. Next, we'll

13
00:00:28,500 --> 00:00:31,000
look at how the bind method lets us bind a

14
00:00:31,000 --> 00:00:34,143
function to an object and return a copy of

15
00:00:34,143 --> 00:00:36,143
another function. Finally, we'll look at

16
00:00:36,143 --> 00:00:38,000
some of JavaScript's built-in functions.

17
00:00:38,000 --> 00:00:41,333
These include eval, parseInt, parseFloat,

18
00:00:41,333 --> 00:00:45,667
escape, and unescape. By the end of this

19
00:00:45,667 --> 00:00:47,000
module, you'll feel comfortable

20
00:00:47,000 --> 00:00:49,100
understanding when to use the call, apply,

21
00:00:49,100 --> 00:00:51,500
and bind methods, and what benefits the

22
00:00:51,500 --> 00:00:54,000
built-in JavaScript functions provide. Let's begin.

