对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址.const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,所以将一个对象声明为常量必须非常小心. const person = { name : 'Tom', age : 18 }; person.age = 20; alert(person.age); 上面的代码中,常量person存储的是一个地址,指向一个对象.不可变的只是这个地址,即不能把person指向另一个地址,但对象本身是可变的,所以其属性的值是可以修改的.…