查询属性:
可以用 对象.属性 来查询属性和属性方法 或者 对象[“属性”] 来查询属性和属性方法
演示代码:
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>