Js对象

JavaScript中的五种基本数据类型详解
JavaScript中基本数据类型和包装类型

说“JS中一切皆对象”也对也不对。
js的基本数据类型有字符串、数字、布尔、数组、对象、Null、Undefined几种。

说它不对,是因为实际上JS中包括两种类型的值:

基本类型:包括数值类型、字符串类型、布尔类型等

对象类型

两者是有本质区别的。

说它对,是因为在某些情况下,基本类型会表现得“很像”对象类型,使得用户可以像使用对象一样去使用基本类型数据。某些情况主要指“对属性的赋值和读取”。

以数值类型为例:

var a = 12.3;
console.log(a.toFixed(3)); // 输出"12.300"

a.foo = 'bar';
console.log(a.foo); // 输出undefined
上述代码说明,基本类型可以像对象类型一样使用,包括访问其属性、对其属性赋值(尽管实际上不起作用,但是形式上可以)。

之所以能这样去使用基本类型,是因为JavaScript引擎内部在处理对某个基本类型 a进行形如a.sth的操作时,会在内部临时创建一个对应的包装类型(对数字类型来说就是Number类型)的临时对象,并把对基本类型的操作代理到对这个临时对象身上,使得对基本类型的属性访问看起来像对象一样。但是在操作完成后,临时对象就扔掉了,下次再访问时,会重新建立临时对象,当然对之前的临时对象的修改都不会有效了。

你可能感兴趣的:(Js对象)