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.age
13        }
14        alert(obj.name+"\n"+obj.age+"\n"+obj.say())// =>博客园  32  32
15 </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.age
11           delete obj.say()            //以上都同上
12        alert(obj.name+"\n"+obj.age+"\n"+obj.say())// =>undefined   undefined   undefined
13 </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 声名的属性变量来依次循环object
12             }
13 
14 </script>

 

posted @ 2016-02-11 20:58  Ziksang  阅读(12606)  评论(0编辑  收藏  举报