整理关于对象属性知识

访问对象的属性两种方式:person.name或person["name"]

什么时候报属性访问值错误呢?

查询一个不存在的属性不会报错,在对象自带属性、继承属性中均未找到查的属性,返回undefined。

但是当对象不存在时,要查不存在的对象的属性就会报错,null和undefined是没有属性的,要查他们的属性就会报错。

var object={name:xiao,age:12}
object.eat;// undefined
arr.name   //报类型错误

 对象的属性是只读的,不能给只读属性重新赋值 所以给对象设置属性会失败;对象中的属性为继承属性且为只读的时候所以给对象设置属性会失败;对象中不存在自有属性的时候所以给对象设置属性会失败。

 

删除属性:delete删除对象的属性

delete object.name;

 检测属性:in运算符  判断对象是否含有某个属性,in的左侧是属性名,右侧是对象

name in object // true

hasOwnPreperty()是检测的对象属性是否是自有属性

var arr={name:2}
arr.hasOwnPreperty("age")//false 对象没有age这个属性
arr.hasOwnPreperty("name")

  propertyIsEnumerable()只有属性是可以枚举的才返回true

枚举属性:遍历属性(for/in)在循环中遍历对象中的所有属性

var object={name:x,age:2}
for(p in object);
console.log(p)//输出的是 name、age

 属性的特性:值(value)、可写性(writable)、可枚举性(enumberable)、可配置性(configurable)

存取器四个属性:get、set、numberable、configurable

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值