Var:
关键字来声明变量。它有以下特点:
-
var声明的变量作用域是函数级的,即在函数内部声明的变量在整个函数范围内可见。
-
var变量可以被重复声明,而不会引发错误。
-
var变量会存在变量提升(hoisting)现象,即在变量声明之前就可以使用该变量。
示例:
javascriptjsCopy Codefunction example() { if (true) { var x = 10; console.log(x); // 输出 10 } console.log(x); // 输出 10,因为 var 声明的变量是函数级作用域,所以此处可以访问到 x。 }
Let:
在ES6中引入了let
关键字
-
let声明的变量作用域是块级的,即在
{}
内部声明的变量只在该块内可见。 -
let变量不允许重复声明,在同一作用域内重复声明同一个变量将引发错误。
-
let变量不会存在变量提升,即在声明之前访问该变量会引发错误。
示例:
javascriptfunction example() { if (true) { let x = 10; console.log(x); // 输出 10 } console.log(x); // 报错,因为 let 声明的变量是块级作用域,无法在块外访问到 x。 }
Const:
关键字用于声明常量:
-
const声明的变量必须进行初始化,并且一旦赋值后就不能再被修改。
-
const声明的作用域同样是块级的。
-
const声明的对象是浅不可变的,即变量指向的地址不能改变,但是对象本身的属性可以修改。
示例:
javascriptfunction example() { const x = 10; console.log(x); // 输出 10 x = 20; // 报错,常量无法被修改 const obj = { name: 'John' }; obj.name = 'Jane'; // 可以修改对象的属性 console.log(obj); // 输出 { name: 'Jane' } }
我只是博主的一点浅见,如果大家认为有错误的地方都可以随时评论留言或联系博主QQ。
还多请各位小可爱多多点赞支持,你们的支持是我最大的动力。
博主QQ:1196094293
谢谢各位的支持~~