💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] ## **var和let的区别** 1.var 能**声明提前**,能**重复定义**, 2.let具有**块级作用域**,不能声明提前,不能重复定义 3.const定义的常量**不可修改**,必须**初始化**。 ``` function f(){ var a = 1;//去掉var,则输出不会出错,会输出1 } f(); console.log(a);//会报错 ``` ``` { var a = 1; var b = 2; } console.log(a);//1 console.log(b);//报错 ``` ## 为什么要有let 因为let 具有块级作用域 #### 区别具体代码: ``` <script> /*1. let具有块级作用域 { var a = 10; let b = 11; } console.log(a); console.log(b) */ /* 2. console.log(a); console.log(b); var a = 10; let b = 11; */ /* 3.var 能重复定义,let不能 var a = 10; var a = 30; console.log(a) */ let b = 11; let b = 20; console.log(b); </script> ```