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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM