Common interview questions: JavaScript variable promotion
Nov 28, 2019 pm 05:14 PMWhat is JavaScript variable hoisting? This is often asked in interviews. The following article will introduce to you JavaScript variable improvement. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.
JavaScript variable hoisting
HoistingJavaScript will move the statement Default behavior to top. [Related course recommendations: JavaScript Video Tutorial]
JavaScript declaration enhancement. In JavaScript, variables can be declared after use. In other words; variables can be used before they are declared. Example 1 gives the same result as Example 2:
Example 1:
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>js</title> <body> <p id="demo"></p> <script> x = 5; // 给x赋值5 elem = document.getElementById("demo"); // 查找一个元素 elem.innerHTML = x; // 在元素内显示x var x; // 声明 x </script> </body> </html>
Example 2:
!DOCTYPE html> <html> <meta charset="utf-8"> <title>js</title> <body> <p id="demo"></p> <script> var x; // 声明 x x = 5; // 把5赋值给x elem = document.getElementById("demo"); elem.innerHTML = x; </script> </body> </html>
To understand this, you must understand "declaration promotion" :Hoisting)". Refers to JavaScript's default behavior of moving all declarations to the top of the current scope (to the top of the current script or current function).
But this default behavior has been changed in ES6. Variables declared by let and constants declared by const in ES6 will not be promoted!
JavaScript initialization will not be promoted
JavaScript only hoists declarations, not initializations. Example 1 and Example 2 are different results:
Example 1:
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>js</title> <body> <p id="demo"></p> <script> var x = 5; // 初始化 x var y = 7; // 初始化 y elem = document.getElementById("demo"); // 查找一个元素 elem.innerHTML = x + " " + y; // 显示x和y </script> </body> </html>
Example 2:
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>js</title> <body> <p id="demo"></p> <script> var x = 5; // 初始化 x elem = document.getElementById("demo"); // 查找一个元素 elem.innerHTML = x + " " + y; // 显示x和y var y = 7; // 初始化 y </script> </body> </html>
Declare your variables at the top!
To many developers, variable hoisting is an unknown or overlooked JavaScript behavior. If the developer does not understand promotion, the program may contain errors (Error). To avoid errors, always declare all variables at the beginning of each scope. Since this is how JavaScript interprets code, it's always a good rule to follow.
This article comes from the js tutorial column, welcome to learn!
The above is the detailed content of Common interview questions: JavaScript variable promotion. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How to implement an online speech recognition system using WebSocket and JavaScript

WebSocket and JavaScript: key technologies for implementing real-time monitoring systems

How to implement an online reservation system using WebSocket and JavaScript

How to use JavaScript and WebSocket to implement a real-time online ordering system

Simple JavaScript Tutorial: How to Get HTTP Status Code

JavaScript and WebSocket: Building an efficient real-time weather forecasting system

How to use insertBefore in javascript

How to get HTTP status code in JavaScript the easy way
