var a=1和a=1的三个区别
一,configurable
用var声明的全局变量,其[[Configurable]]属性为false。此时它就不能在声明后被delete,或者是被改为accessor property等。能做的操作只有访问或修改其[[Value]]属性的值,对例子中的a来说就是普通的读取a或对a赋值,而不能做其它操作。
直接赋值来创建的全局变量,其[[Configurable]]属性为true,也就可以对它做任意修改,例如delete、改变其[[Enumerable]]属性的值,等等。
二、声明提前
三、nodejs下差异
四、其他点睛
评论