Home Web Front-end JS Tutorial Introduction to the definitions and differences between the two functions of javascript_javascript skills

Introduction to the definitions and differences between the two functions of javascript_javascript skills

May 16, 2016 pm 05:34 PM
function

Generally speaking, the results of the two calls are the same, but there are still differences.
First way:

Copy code The code is as follows:

function a() {
alert('old');
}
var b=a;
function a(){
b();
alert('new');
}
a();//The browser will experience memory overflow

Second way:
Copy Code The code is as follows:

function a(){
alert('old');
}
var b=a;
var a=function(){
b();
alert('new');
}
a();//The browser will alert 'old' in order and 'new'

The difference between the two methods can be clearly distinguished here. The order of definition is different.
The first one is that the function a is not redefined at the beginning but is executed inside it.
The second way, a = function () where the code a that is not executed into the function has been redefined. So the redefinition here is valid
Supplement 1:
Copy the code The code is as follows:

function a(){
alert('old');
}
var b=a;
function a(){
b();
alert(' new');
}

When compiling: first a is defined as alert("old"), and then it is defined as b();alert("new");
Runtime: b = function a(){b();alert("new");}, at this time b is the same as a, b is called directly in the function body, and the result is the same whether called from a or b. Produces stack overflow
On the other hand
Copy the code The code is as follows:

function a( ){
alert('old');
}
var b=a;
var a=function(){
b();
alert('new') ;
}

Compile time: a is defined as alert("old")
Run time: b=function a(){alert("old")}; a= function(){b();alert("new")}; At this time, the function body of b does not include any of ab, and a only calls b... No stack overflow will occur in any case...
Supplement 2:
Generally speaking, the first way of writing is used to avoid code pollution, but if you need to retain the original function, you must use the second way of writing. Anyway, both methods are in compliance with w3c.
In fact, the first way of writing came later, and this way of writing has been optimized.
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)

What does function mean? What does function mean? Aug 04, 2023 am 10:33 AM

Function means function. It is a reusable code block with specific functions. It is one of the basic components of a program. It can accept input parameters, perform specific operations, and return results. Its purpose is to encapsulate a reusable block of code. code to improve code reusability and maintainability.

Detailed explanation of the role and function of the MySQL.proc table Detailed explanation of the role and function of the MySQL.proc table Mar 16, 2024 am 09:03 AM

Detailed explanation of the role and function of the MySQL.proc table. MySQL is a popular relational database management system. When developers use MySQL, they often involve the creation and management of stored procedures (StoredProcedure). The MySQL.proc table is a very important system table. It stores information related to all stored procedures in the database, including the name, definition, parameters, etc. of the stored procedures. In this article, we will explain in detail the role and functionality of the MySQL.proc table

What is the purpose of the 'enumerate()' function in Python? What is the purpose of the 'enumerate()' function in Python? Sep 01, 2023 am 11:29 AM

In this article, we will learn about enumerate() function and the purpose of “enumerate()” function in Python. What is the enumerate() function? Python's enumerate() function accepts a data collection as a parameter and returns an enumeration object. Enumeration objects are returned as key-value pairs. The key is the index corresponding to each item, and the value is the items. Syntax enumerate(iterable,start) Parameters iterable - The passed in data collection can be returned as an enumeration object, called iterablestart - As the name suggests, the starting index of the enumeration object is defined by start. if we ignore

The usage and function of Vue.use function The usage and function of Vue.use function Jul 24, 2023 pm 06:09 PM

Usage and Function of Vue.use Function Vue is a popular front-end framework that provides many useful features and functions. One of them is the Vue.use function, which allows us to use plugins in Vue applications. This article will introduce the usage and function of the Vue.use function and provide some code examples. The basic usage of the Vue.use function is very simple, just call it before Vue is instantiated, passing in the plugin you want to use as a parameter. Here is a simple example: //Introduce and use the plug-in

file_exists() function in PHP file_exists() function in PHP Sep 14, 2023 am 08:29 AM

The file_exists method checks whether a file or directory exists. It accepts as argument the path of the file or directory to be checked. Here's what it's used for - it's useful when you need to know if a file exists before processing it. This way, when creating a new file, you can use this function to know if the file already exists. Syntax file_exists($file_path) Parameters file_path - Set the path of the file or directory to be checked for existence. Required. Return file_exists() method returns. Returns TrueFalse if the file or directory exists, if the file or directory does not exist Example let us see a check for "candidate.txt" file and even if the file

What is the usage of js function What is the usage of js function Oct 07, 2023 am 11:25 AM

The usage of js function function is: 1. Declare function; 2. Call function; 3. Function parameters; 4. Function return value; 5. Anonymous function; 6. Function as parameter; 7. Function scope; 8. Recursive function.

How to use SOA functions in PHP How to use SOA functions in PHP May 18, 2023 pm 01:10 PM

With the development of the Internet, SOA (service-oriented architecture) has become an important technical architecture in today's enterprise-level systems. Services in the SOA architecture can be reused, reorganized and extended, while also simplifying the system development and maintenance process. As a widely used Web programming language, PHP also provides some function libraries for implementing SOA. Next, we will detail how to use SOA functions in PHP. 1. The basic concept of SOA. SOA is a distributed system development idea and architecture.

How to use Function interface in Java8 How to use Function interface in Java8 Apr 17, 2023 pm 09:04 PM

Introduction to the Function interface in Java 8 Java 8 provides a functional interface Function. This interface represents doing some operations on a parameter and then returning the value after the operation. This interface has an abstract method apply, which indicates the operation on the parameters. //Definition of JavaFunction interface @FunctionalInterfacepublicinterfaceFunction{Rapply(Tt);defaultFunctioncompose(Function

See all articles