JS中的对象本质上是一个关联数组,Javascript对象的value,不仅可以时值(包括基
本类型和符合类型),也可以时函数,此时函数就是该对象的方法,当value是值的时
候,此时value就是该对象的属性值.
当访问某个Js对象的属性时,不仅可以使用obj.propName的形式,还可以使用
obj[propName]的形式,有时候甚至必须使用这种形式.
function Person(name,age)
{
this.name=name;
this.age=age;
this.info=function()
{
alert('info method');
}
}
var p=new Person('sara',20);
for(propName in p)
{
document.writeln('p对象的'+propName+'属性值为:'+p[propName]+'<br />');
}
运行结果为:
p对象的name属性值为:sara
p对象的age属性值为:20
p对象的info属性值为:function () { alert('info method'); }
此处就不能采用p.propName的形式,如果采用这种形式的话,JS会把propName当
成变量来处理,它试图直接访问p对象的propName属性,但是该属性并不存在,此时
就必须使用p[propName]的形式.