<返回更多

javaScript 对象和关联数组

2020-05-14    
加入收藏

JAVAScript对象与纯粹的面向对象语言的对象存在一定的区别:JavaScript中的对象本质上是一个关联数组,或者说更像java里的Map数据结构,由一组key-value对组成。与java中Map对象存在区别的是,javaScript对象的value,不仅可以是值(包括基本类型的值和复合类型的值),也可以是函数,此时的函数就是该对象的方法。当value是基本类型的值或者复合类型的值时,此时的value就是该对象的属性值。

 

javaScript 对象和关联数组

 

因此当需要访问某个javaScript对象的属性时,不仅可以使用obj。propName的形式,也可以采用obj[propName]的形式,有些时候甚至必须使用这种形式。

<script type="text/javascript">

function Person(name,age)

{

//将name、age形参的值分别赋给name、age实例属性

this.name=name;

this.age=age;

this.info=function()

{

alert('info method!');

}

}

var p=new Person('yeeku',30);

for(propName in p)

{

//遍历Person对象属性

document.writeln('p对象的'+propName+"属性值为:"+p[propName]+"<br />");

}

</script>

上面程序中粗体字代码遍历了Person对象的每个属性,因为遍历每个属性时,循环计数器是Person对象的属性名,因此程序必须根据属性名来访问Person对象的属性,此时不能采用p.propName的形式,如果采用p.propName的形式,javaScript不会把propName当成变量处理,它试图直接访问该对象的propName属性,但该属性实际并不存在。在浏览器中浏览该页面,如下所示

 

javaScript 对象和关联数组

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>