你的位置:首页 > Java教程

[Java教程]js 中对象


查询属性:

可以用 对象.属性 来查询属性和属性方法               或者                    对象[“属性”]  来查询属性和属性方法

演示代码:

 1 <script> 2    var obj ={ 3      username:"ziksang", 4      age:22, 5      addr:"北京", 6      say:function(){ 7        return "我的名字叫 "+this.username  //解析this,此处的this是指向obj对象,只是在方法say中调用了obj的属性,所以用this.obj来索引 8      } 9    }10    alert(obj.username)  //查询对象属性可以用对象.属性11    alert(obj["addr"])  //还可以用对象["属性"]12    var key="age"    //当不确定属性的时候把属性赋值给一个变量13    alert(obj[key]);  //调用时可以用obj[变量] 14    alert(obj.say())  //查询属性方法时可以用obj.属性()15 </script>

如果使用构造函数来创建的对象如何查询属性?

演示代码:

1 <script>2    function Person(name,age,sex){3      this.name = name;4      this.age =age;      //this 指向的obj对象5      this.sex = sex;6    }7    var obj = new Person("ziksang",22,"男")8      alert(obj.name+"\n"+obj.age+"\n"+obj.sex)  //=>ziksang 22 男9 </script>

如何来添加属性?

演示代码:

 1 <script> 2   var obj ={}        //声明一个空的对象 3   obj.usename = "ziksang"  //用obj.想要设置的属性 = 值 4   obj["age"] = 22      //还可以用obj["属性名"] =值 5   obj.say=function(){    //用obj.想要的属性方法 = 匿名函数 6     return this.usename 7    } 8   alert(obj.usename)    //查询是否有此属性 9    alert(obj.age)10    alert(obj.say())11 </script>

如何来修改属性?

演示代码:

 1 <script> 2    var obj = { 3      name:"ziksang", 4      age: 22, 5      say:function(){ 6        return this.name 7       } 8     } 9    obj.name = "博客园"    //用obj.属性名重新赋值10    obj["age"] = 32      //以上都同理11    obj.say = function(){12       return this.age13     }14    alert(obj.name+"\n"+obj.age+"\n"+obj.say())// =>博客园 32 3215 </script>

如何来删除属性?

演示代码:

 1 <script> 2    var obj = { 3      name:"ziksang", 4      age: 22, 5      say:function(){ 6        return this.name 7       } 8     } 9      delete obj.name    //用 delete加上对象.属性名10      delete obj.age11      delete obj.say()      //以上都同上12    alert(obj.name+"\n"+obj.age+"\n"+obj.say())// =>undefined  undefined  undefined13 </script>

如何来遍历属性? 用for in 来遍历属性

演示代码:

 1 <script> 2    var obj = { 3      name: "ziksang", 4      age: 22, 5      say: function () { 6        return this.name 7       } 8     } 9 10    for( var p in obj){11      alert( p+"\n")  //用for 声名的属性变量来依次循环object12       }13 14 </script>