在JS中
变量声明为var声明
词法声明为let const声明
变量声明编译器会分配默认值undefined
词法声明则没有这个待遇
还有就是
在javascript中的赋值 是将右操作数的值赋给左操作数的引用
关于var xxx=yyy=100
这个最简单的赋值其实有另一层意思
就是yyy=100 其实是给一个不知名变量赋值 这个yyy会以变量泄露的过程被添加到全局 并且是可以被delete删除的
xxx是通过var声明的全局变量 是不能被delete删除的
function p(){
var xxx=yyy=100
}
p()
console.log(yyy) //100
console.log(xxx) //is not defined
//这个例子中 yyy被泄露为全局变量 是可以被删除的 而xxx则是一个局部变量