Home Web Front-end JS Tutorial Function declaration and function expression in JavaScript

Function declaration and function expression in JavaScript

May 16, 2016 pm 03:57 PM

So far, we have not distinguished between function declarations and function expressions. In fact, the parser does not treat function declarations and function expressions equally when loading data into the execution environment. The parser will first read the function declaration and make it available (accessible) before executing any code; as for the function expression, it will not be actually interpreted and executed until the parser reaches the line of code where it is located. The following example:

The code is as follows:

alert(sum(10,10));
function sum(num1,num2)
{
    return num1+num2;
}
Copy after login

The above code can be executed correctly, because before the code starts executing, the parser Function declarations have been read and added to the execution environment through a process called function declaration hoisting. When evaluating code, the JavaScript engine declares functions on the first pass and places them at the top of the source tree. So, even if the code that declares the function is behind the code that calls it, the JavaScript engine can hoist the function declaration to the top. If, as shown in the following example, the above function declaration is changed to an equivalent function expression, an error will occur during execution.

The code is as follows:

alert(sum(10,10));
var sum=function(num1,num2)
{
    return num1+num2;
};
Copy after login

The above code will cause an error when running because the function is located in an initialization statement , rather than a function declaration. In other words, the variable sum will not hold a reference to the function until the statement in which the function is executed; moreover, since the first line of code will cause an "unexpected identifier" error, it actually does not Will not execute to the next line.

Except for the fact that the function can be accessed through variables during declaration, the syntax of function declaration and function expression are actually equivalent. of.

Note: You can also call function declaration and function expression at the same time, such as var sum=function sum(){}. However, this syntax will cause errors in Safari.

The above is the entire content of this article. I hope it will be helpful to everyone learning javascript.

For more related tutorials, please visit javascript tutorial

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Default parameters in C++ function declarations: a comprehensive analysis of their declaration and usage Default parameters in C++ function declarations: a comprehensive analysis of their declaration and usage May 02, 2024 pm 03:09 PM

Default parameters in C++ provide the ability to specify default values ​​for function parameters, thereby enhancing code readability, simplicity, and flexibility. Declare default parameters: Add the "=" symbol after the parameter in the function declaration, followed by the default value. Usage: When the function is called, if optional parameters are not provided, the default values ​​will be used. Practical case: A function that calculates the sum of two numbers. One parameter is required and the other is optional and has a default value of 0. Advantages: Enhanced readability, increased flexibility, reduced boilerplate code. Note: It can only be specified in the declaration, it must be at the end, and the types must be compatible.

What impact does the order of declaration and definition of C++ functions have? What impact does the order of declaration and definition of C++ functions have? Apr 19, 2024 pm 01:42 PM

In C++, the order of function declarations and definitions affects the compilation and linking process. The most common is that the declaration comes first and the definition comes after; you can also use "forwarddeclaration" to place the definition before the declaration; if both exist at the same time, the compiler will ignore the declaration and only use the definition.

What is the difference between C++ function declaration and definition? What is the difference between C++ function declaration and definition? Apr 18, 2024 pm 04:03 PM

A function declaration informs the compiler of the existence of the function and does not contain the implementation, which is used for type checking. The function definition provides the actual implementation, including the function body. Key distinguishing features include: purpose, location, role. Understanding the differences is crucial to writing efficient and maintainable C++ code.

C++ function declarations and definitions C++ function declarations and definitions Apr 11, 2024 pm 01:27 PM

Function declaration and definition are necessary in C++. Function declaration specifies the return type, name and parameters of the function, while function definition contains the function body and implementation. First declare the function and then use it in your program passing the required parameters. Use the return statement to return a value from a function.

C++ compilation error: function call does not match function declaration, how to solve it? C++ compilation error: function call does not match function declaration, how to solve it? Aug 22, 2023 pm 12:39 PM

C++ compilation error: function call does not match function declaration, how to solve it? When developing C++ programs, you will inevitably encounter some compilation errors. One of the common errors is that the function call does not match the function declaration. This kind of error widely exists among C++ programmers. Due to not paying attention to the correctness of function declaration, it leads to compilation problems, which ultimately wastes time and energy to fix the problem and affects development efficiency. Ways to avoid this mistake require following some norms and standard practices, let’s take a look at them below. What is a function call versus a function declaration?

[[nodiscard]] in C++ function declarations: Demystifying the consequences of ignoring return values [[nodiscard]] in C++ function declarations: Demystifying the consequences of ignoring return values May 01, 2024 pm 06:18 PM

The [[nodiscard]] attribute indicates that the return value of the function must not be ignored, otherwise it will cause a compiler warning or error to prevent the following consequences: uninitialized exceptions, memory leaks, and incorrect calculation results.

Detailed syntax of C++ function declaration: from syntax analysis to standard usage analysis Detailed syntax of C++ function declaration: from syntax analysis to standard usage analysis Apr 30, 2024 pm 02:54 PM

The C++ function declaration syntax is: returnTypefunctionName(parameterType1parameterName1,...,parameterTypeNparameterNameN);, where returnType is the return type, functionName is the function name, parameterType is the parameter type, and parameterName is the parameter name, which must end with a semicolon.

A step-by-step guide to C++ function declaration: detailed instructions covering every step A step-by-step guide to C++ function declaration: detailed instructions covering every step May 02, 2024 pm 04:33 PM

A function declaration tells the compiler that a function exists without providing a function body. The steps are as follows: specify the function return type (void if there is no return value) define the function name and declare the function parameters (optional, including data type and identifier) ​​plus semicolon

See all articles