>[success] # 六种js 声明语句 ~~~ 1.let x-- 声明变量 x。不可在赋值之前读。 2.const x -- 声明常量 x。不可在赋值之前读,不可写。 3.var x-- 声明变量 x。在赋值之前可读取到 undefined 值。 4.function x -- 声明变量 x。该变量指向一个函数。 5.class x -- 声明变量 x。该变量指向一个类(该类的作用域内部是处理严格模式的)。 6.import -- 导入标识符并作为常量(可以有多种声明标识符的模式和方法) ~~~ * 总结 ~~~ 1.上面六种大体可以分为三种情况即'var','const','let' 1.1.var 的情况 为 var 和 function 声明变量 1.2.const 的情况 为 const 和import 声明变量,这里也可以解释import 声明为什么要放到最上 面,原因就是不可在赋值之前读 1.3 let 情况类的内部是处于严格模中,它的名字是按 let 来处理的,和let 声明变量 ~~~ >[danger] ##### 声明和语句的区别 * 回答来自极客时间用户 -- fatme ~~~ 1.'声明'和'语句'的区别在于'发生的时间点不同','声明发生在编译期','语句发生在运行期'。声明发生在编译期, 由编译器为所声明的变量在相应的变量表,增加一个名字。语句是要在运行时执行的程序代码。因此,如果声明 不带初始化,那么可以完全由编译器完成,不会产生运行时执行的代码。 ~~~