Home  >  Article  >  Web Front-end  >  Javascript Study Notes 2 Function_Basic Knowledge

Javascript Study Notes 2 Function_Basic Knowledge

WBOY
WBOYOriginal
2016-05-16 18:36:52948browse

Just like we can write it in the form:

Copy the code The code is as follows:

function Hello () {
alert("Hello");
}
Hello();
var Hello = function () {
alert("Hello");
}
Hello();

In fact, they are all the same.
But when we modify the functions, we will find very strange problems.
Copy code The code is as follows:



We will see this result: Hello World is output twice in a row. Rather than the Hello and Hello World we imagined.
This is because Javascript is not completely interpreted and executed in sequence, but Javascript is "precompiled" before interpretation. During the precompilation process, the defined functions will be executed first, and all functions will be executed first. The var variable is created and the default value is undefined to improve the execution efficiency of the program. In other words, the above piece of code is actually pre-compiled by the JS engine into this form:
Copy the code The code is as follows:



We can pass The above code clearly shows that functions are also data and variables. We can also assign (reassign) values ​​to "functions". Of course, in order to prevent this situation, we can also do this:
Copy code The code is as follows: