在JavaScript中大多数的引用类型都是Object的实例,Object类型也是使用最多的类型!
创建Object类型实例的方式有两种,下面分别来分析一下:
(1)第一种是使用new操作符后跟Object构造函数,代码如下:
var perosn=new Object(); person.name="张三"; person.age=22;
(2)第二种方式使用对象字面量表示法。对象字面量是对象定义的一种简写方式,目地就是为了简化创建含有大量属性和方法的对象的过程。代码如下:
var person={ name:"张三", age:22 };
这里注意,属性名可以是字符串,数值,布尔,因为当创建对象时,这里的属性名会自动转换为字符串!
(3)第三种方式是使用对象字面量表示法,但留空其花括号,代码如下:
var person={}; person.name="张三"; person.age=22;
结合上面三种创建方式,第二种最好,因为这种语法要求的代码量少,而且能够给人封装数据的感觉。最终要的是,对象字面量也是向函数传递大量可选参数的首选方式,代码如下:
<script> function displayInfo(args) { var output=""; if(typeof args.name=="string"){ output+="name:"+args.name+" "; } if(typeof args.age=="number"){ output+="age:"+args.age+" "; } alert(output); } displayInfo({ name:"张三", age:22 }); displayInfo({ name:"拉拉" }); </script>
这里displayInfo()接受一个名为args的参数。而这个参数就是通过对象字面量表示法创建的Object对象,这个对象包含了所有displayInfo()需要的参数!
所以这种传递参数的模式最适合需要向函数传递大量可选参数的情形,这种方式即灵活,又节省代码!
下面是一个关于访问对象中属性重要的知识点:
一般来说,访问对象属性时使用的都是点表示法,这也是很多面向对象那个语言中通用的语法。不过,在JavaScript中也可以使用方括号法来访问对象的属性!
通过方括号访问对象属性的方式完美的解决了点表示法不能通过一个变量访问属性的缺点:代码如下:
var param="name"; var value=person[param]; alert(value);
还有就是,当属性名中出现空格像"first name",这个时候是无法用点表示法来访问的,只能通过方括号来访问!