【转载】js 中对象--属性相关操作
程序员文章站
2022-03-17 13:16:08
...
- 查询属性: 可以用 对象.属性 来查询属性和属性方法 或者 对象[“属性”] 来查询属性和属性方法
<script>
var obj ={
username:"ziksang",
age:22,
addr:"北京",
say:function(){
return "我的名字叫 "+this.username //解析this,此处的this是指向obj对象,只是在方法say中调用了obj的属性,所以用this.obj来索引
}
}
alert(obj.username) //查询对象属性可以用对象.属性
alert(obj["addr"]) //还可以用对象["属性"]
var key="age" //当不确定属性的时候把属性赋值给一个变量
alert(obj[key]); //调用时可以用obj[变量]
alert(obj.say()) //查询属性方法时可以用obj.属性()
</script>
- 如果使用构造函数来创建的对象如何查询属性?
<script>
function Person(name,age,sex){
this.name = name;
this.age =age; //this 指向的obj对象
this.sex = sex;
}
var obj = new Person("ziksang",22,"男")
alert(obj.name+"\n"+obj.age+"\n"+obj.sex) //=>ziksang 22 男
</script>
- 如何来添加属性?
<script>
var obj ={} //声明一个空的对象
obj.usename = "ziksang" //用obj.想要设置的属性 = 值
obj["age"] = 22 //***obj["name"] 第二种方式的属性名是个字符串,这就为变量的使用制造了可能性。
obj.say=function(){ //用obj.想要的属性方法 = 匿名函数
return this.usename
}
alert(obj.usename) //查询是否有此属性
alert(obj.age)
alert(obj.say())
</script>
- 如何来修改属性?
<script>
var obj = {
name:"ziksang",
age: 22,
say:function(){
return this.name
}
}
obj.name = "博客园" //用obj.属性名重新赋值
obj["age"] = 32 //以上都同理
obj.say = function(){
return this.age
}
alert(obj.name+"\n"+obj.age+"\n"+obj.say())// =>博客园 32 32
</script>
如何来删除属性?
<script>
var obj = {
name:"ziksang",
age: 22,
say:function(){
return this.name
}
}
delete obj.name //用 delete加上对象.属性名
delete obj.age
delete obj.say() //以上都同上
alert(obj.name+"\n"+obj.age+"\n"+obj.say())// =>undefined undefined undefined
</script>
如何来遍历属性? 用for in 来遍历属性
<script>
var obj = {
name: "ziksang",
age: 22,
say: function () {
return this.name
}
}
for( var p in obj){
alert( p+"\n") //用for 声名的属性变量来依次循环object
}
</script>
转载自: Ziksang https://www.cnblogs.com/Ziksang/p/5186662.html
上一篇: 属性动画(学习)
下一篇: 详解PHP四种基本排序算法