“Let”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第17行: 第17行:
  
 
=== 2.块级作用域 全局,函数,eval ===
 
=== 2.块级作用域 全局,函数,eval ===
let 声明的变量只在代码块里有效,出代码块就无效了
+
let 声明的变量只在代码块里有效,出代码块就无效了,就读取不到了<syntaxhighlight lang="javascript">
 +
    <script>
 +
        {
 +
            let name = '张三';
 +
        }
 +
        console.log(name);
 +
    </script>
 +
</syntaxhighlight>上面代码运行就不会输出张三,依浏览器不同、浏览器版本不同,控制台要么报错、要么输出空。

2024年7月31日 (三) 14:29的版本

let 有几个特点:

1.变量不能重复声明

    <script>
        let name = '张三';
        let name = '李四';
    </script>

运行会在控制台报错 这一点和 var 不同

    <script>
        var name = '张三';
        var name = '李四';
    </script>

上面使用 var 的代码就可以正常运行。

2.块级作用域 全局,函数,eval

let 声明的变量只在代码块里有效,出代码块就无效了,就读取不到了

    <script>
        {
            let name = '张三';
        }
        console.log(name);
    </script>

上面代码运行就不会输出张三,依浏览器不同、浏览器版本不同,控制台要么报错、要么输出空。