打印的结果是而不是{name:'1222'}
1 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
首先基本类型都是没有属性的,
像 var a = 10; var b = "abc";
你之所以可以访问 a.fixed方法, b.substr方法, 是因为JS引擎会把基本类型数据进行了一次包装, 比如 a 会包装 Number(a), b会包装成String(b), 这样就数字就能够使用fixed方法,字符串能够使用substr。
给数字和字符串添加属性是不会生效的, a.name ='this is your name' 其实是在给 Number(a)对象添加nane属性。
每次包装都会产生一个新的对象,新对象不存在name,因此访问a.name 返回 undefined。 console.log(a)就只是显示a的数值
添加回答
举报
0/150
提交
取消