关于 变量声明和词法声明及var xxx=yyy=100的含义

在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则是一个局部变量

你可能感兴趣的:(关于 变量声明和词法声明及var xxx=yyy=100的含义)