Home > Article > Web Front-end > What are the types of functions defined in javascript
Several types of functions are defined in JavaScript: 1. Use the function keyword to define functions through declarations or expressions. The syntax is "function functionName(parameters){executed code}"; 2. Use function constructs Function() constructor.
The operating environment of this tutorial: Windows 10 system, JavaScript version 1.8.5, Dell G3 computer.
JavaScript uses the keyword function to define functions.
A function can be defined through a declaration or an expression.
Function declaration
In the previous tutorial, you have already understood the syntax of function declaration:
function functionName(parameters) { 执行的代码 }
The function will not be executed immediately after it is declared, but will be executed when we need it Called to.
Function constructor
The function constructor is used to create a function object. In JavaScript, actually every function is a function object.
The syntax of function constructor:
new Function ([arg1[, arg2[, ...argN]],] functionBody)
arg1, arg2, ... argN are used as variable names as normal parameter names of functions. These variable names must comply with the JavaScript variable identification specification. A string representing a single variable or a comma-separated string representing multiple variables, such as "x", "theValue", or "a,b".
functionBody A string containing the JavaScript statement that defines the function.
Description
1. The function object is created when the function constructor is parsed into a function. However, this will be less efficient than using function declarations, function expressions, etc., because these functions are directly parsed through the code.
2. The string parameters passed to the function constructor will be used as the variable parameter names of the function generated by the function constructor, and the order in which they appear will be used as the order of the parameters of the generated function.
3. Calling the function constructor as a function (whether modified with the new keyword or not) has the same effect.
Example
// Example can be run directly in your JavaScript console // Create a function that takes two arguments and returns the sum of those arguments var adder = new Function('a', 'b', 'return a + b'); // Call the function adder(2, 6); // > 8
Parameters a and b are normal parameter names that can be used in the function body.
The generated function is:
function (a,b){undefined return a+b; }
A way to parse json: var json = (new Function("return " str))();
The principle is the same ,
The generated function is:
function toJson(str){undefined return str; } var str="{'a':1,'b':'abc'}"; toJson(str);
That is: function(){return {'a':1,'b':'abc'}}
Function construction The difference between constructor and function declaration:
Functions created with function constructors do not create closures in the context. They are always created in the global scope. When the created function is executed, they only You can use your own local variables or global variables, which is different from eval.
Related recommendations: javascript learning tutorial
The above is the detailed content of What are the types of functions defined in javascript. For more information, please follow other related articles on the PHP Chinese website!