1. 程式人生 > 其它 >JS學習Day11之預解析

JS學習Day11之預解析

技術標籤:JavaScript學習jsjavascript

預解析概述

  • JavaScript程式碼是由瀏覽器中的JavaScript解析器來執行的。JavaScript解析器在執行JavaScript程式碼的時候分為兩步:預解析 和 程式碼執行

  • 預解析:js 引擎會把 js 裡面所有的 var,function,提升到當前作用域的最前面

  • 程式碼執行:按照程式碼的是寫順序從上往下執行

預解析的分類

變數預解析(變數提升)

  • 就是把所有的變數宣告提升到當前作用域的最前面,但不提升賦值操作

函式預解析(函式提升)

  • 就是把所有的函式宣告提升到當前作用域的最前面,但不呼叫函式

  • 注意:函式表示式的呼叫必須寫在函式表示式的下面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var num = 10;
        fun
(); function fun() { console.log(num); var num = 20; } // 以上程式碼相當於執行了以下程式碼 var num; function fun() { var num; console.log(num); num = 20; } num = 10; fun();
</script> </
head
>
<body> </body> </html>

注意

var a = b = c = 9;
// 相當於:
var a = 9;
b = 9;  // 當全域性變數來看
c = 9;

var a = 9, b = 9, c = 9;
// 相當於:
var a = 9;
var b = 9;
var c = 9;