1.let
{} if(){} for(){} 大括号里面的叫做代码块
let声明的变量只在 let 命令所在的代码块内有效。
举例:
var arr=[]
for(var i=0;i<10;i++){
console.log(i)
function fn(){console.log(i)}
arr.push(fn)
}
打印结果为10个10
如果想让它的打印结果变为0-9
则把var改为let
var arr=[]
for(let i=0;i<10;i++){
console.log(i)
function fn(){console.log(i)}
arr.push(fn)
}
原因是let不能突破本次循环影响下次甚至外面的同名变量
仅限单次循环使用
还有与var不同的是let并不会预编译,
严格规定了先声明再赋值
2.const
const js的常量修饰符
let var 修饰的变量的值可以被修改
其他语法同let
只能初始化一次:初始化--第一次赋值
const url="http://www.hqyj.com"
url=200//报错