let const命令

let命令

let實際上爲 JavaScript 新增了塊級做用域。
var聲明全局做用域,let聲明局部做用域html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width initial-scale=1.0">
    <meta http-equiv="x-ua-compatible" content="ie=edge">

    <title>Title</title>

</head>
<body>

</body>
<script>

    let a = 10;
    var b = 18;
    {let c = 28}
    let d = 38;

    console.log(d); // 38
    console.log(c); // 報錯。 c is not defined

    console.log(window.a); // undefined
    console.log(window.b); //18

</script>
</html>

const

const實際上保證的,並非變量的值不得改動,而是變量指向的那個內存地址所保存的數據不得改動。對於簡單類型的數據(數值、字符串、布爾值),值就保存在變量指向的那個內存地址,所以等同於常量。但對於複合類型的數據(主要是對象和數組),變量指向的內存地址,保存的只是一個指向實際數據的指針,const只能保證這個指針是固定的(即老是指向另外一個固定的地址),至於它指向的數據結構是否是可變的,就徹底不能控制了數組

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width initial-scale=1.0">
    <meta http-equiv="x-ua-compatible" content="ie=edge">

    <title>Title</title>

</head>
<body>

</body>
<script>
    const a = 10;
    // let a = 35; //報錯
    const list = [];
    list.push('hello'); //成功
    // list = ['大吉大利'] // 報錯

    const dict = {};
    dict.prop = 125;
    console.log(dict); // {prop: 125}
</script>
</html>
相關文章
相關標籤/搜索