 So students, in this module, I will give a very brief overview about the functions and about the user defined functions, very, very briefly, give an example also. And I will talk about the JavaScript strict mode, which has some good error handling capabilities and good for security also. So let's look at the outline of this module. So this is the topics which will be covered in this module. So let's some minutes on the background. So like other programming languages, there are functions which are defined by JavaScript. So those are the built-in functions. And the thing is that there are different versions of JavaScript. Now it may so happen that certain older versions may not support the functions which are in the current versions. So it is important that you should be aware that which functions are supported by your potential clients, your customers, and which browsers they are using. So that the page which you have developed using JavaScript, it comes to them properly. And of course, like other programming languages, JavaScript also supports user defined functions. You can write your own functions. And in this module, we will look at this cube me function, basically what it does, it generates the cube of the given number. So let's go into more details. So what you see on the left side of your screen, that is the code. And this code can be viewed using a text editor also. So when you load this code, when you load this code into a browser, this is what you will see over here. So this code is an example which incorporates the earlier codes. Okay. And the code declares a function cube me, cube me within the head section of the document like this. Okay, this is the cube me I'm talking about. This course accept an argument called incoming number, incoming number over here within the function. And if then decision statement is the heart of the function, when the incoming number equals one, the function returns a text thing, what are you doing? If you put a one, it will say, what are you doing? When the incoming number is not equal to one, the math power method is called passing the incoming number variable and the integer three as argument, the call to the math dot power over here raises the incoming number to the power of three and the value then returned to the calling function. All right. So all the previous code was placed within the head portion of the document so that it can be called by other code, which is just what we are going to do. The browser then renders the body section of the document, which includes another bit of JavaScript code. So I believe you understand this. So now we look at the JavaScript strict mode. So how do you go into the strict mode? You type this and it enables the strict mode. It enhances error checking and security to help fight against mis-type variable names, variable declarations, require the use of the var keyword, additionally changes to the eval function and other areas help improve the code. Strict mode is enabled with the following syntax, which I've already mentioned. Strict mode is locally scoped, meaning that it can be enabled globally by placing the use strict line at the beginning of the script, or it can be enabled only within a function by placing the line within the function, which is done over here. Strict mode helps catch typographical errors by preventing undeclared variables. All variables in strict mode need to be instantiated prior to the use over here. Now you should see over here that over here the var, the var are missing over here, right? But with this strict mode, the user will get a message and will put a var over here. And this error will be gone. So you catch the error. Catch the error. I believe you understand this. Now strict mode changes how the eval function is handled. The eval function executes a string as if it were regular JavaScript code and can lead to security issues in certain cases. In strict mode, eval cannot instantiate a new variable or function that will be used outside the eval statement. For example, over here, that takes care of the problem about the eval function. Why? Because of the strict mode over here. So in the preceding code example, a syntax error would be produced because strict mode is enabled and the test variable is not available outside the eval statement. Strict mode also prevents duplication of variable names within an object function call over here. You see that you have this over here. This is duplicate. So this is all I have for this module.