黑马程序员技术交流社区

标题: 问一个关于javascript的问题。急 [打印本页]

作者: 謝寶劍    时间: 2012-5-31 01:22
标题: 问一个关于javascript的问题。急
本帖最后由 謝寶劍 于 2012-5-31 02:05 编辑

<script type='text/javascript'>
         function person(name,age){
                this.name=name;
                this.age=age;
         }
                var n='name';
                var a='age';
                var p=new person('zhangsan',23);
                //js中访问对象属性的两种写法
                //alert('1 => '+p.name+','+p.age);//用点的方式
                //alert('2 => '+p[n]+','+p[a]);//用中括号的方式
                //i以下是遍历对象中的属性
         for (var i in p)
         {
                document.write('对象P中属性'+i+'的值是'+p【i】+'<br/>');//用中括号的方式
                //document.write("对象P中属性"+i+"的值是"+p.i+"<br/>");//为什么这里不能用“.”的方式来访问对象属性
         }
</script>

作者: 吴小铁你好    时间: 2012-5-31 07:10
点时一般都是
对象.方法
name和age都是属性
而你点的是属性
作者: 胡团乐    时间: 2012-5-31 07:13
  for (var i in p)
         {
                document.write('对象P中属性'+i+'的值是'+p【i】+'<br/>');//用中括号的方式
                //document.write("对象P中属性"+i+"的值是"+p.i+"<br/>");//为什么这里不能用“.”的方式来访问对象属性
开始我也纳闷为啥不行 呵呵 仔细一看 因为你用了  for (var i in p) js中会把对象的属性封装成一个数组
这相当于是从数组p中读取对象 所以.不行; js中集合和数组是一回事

作者: 右眼会动的人    时间: 2012-5-31 20:50
小手一抖  金币到手




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2