var a = 1;
a.a = 2;
console.log(a.a);
最后,为什么输入是未定义的,而不是2
答案 0 :(得分:2)
当您将数字1分配给变量a(var a = 1;
)时,a是一个数字。 Altough Javascript没有具体的类型,系统从那个时间点开始将变量a视为数字。因此,您无法向a添加属性,因为它不是对象。
这是一个对象和变量的小例子:
var a = 1;
console.log(typeof a); //prints number
a.a = 2;
console.log(typeof a); //still a number
var a = {} //redeclare a as an object
a.a = 2; //an object can have properties (a.a)
console.log(typeof a); //prints object
console.log(a.a); //prints 2