JS对象中的属性

JS对象中的属性

属性的分类

属性分为两大类:
私有属性
公有属性

可以通过一个api 来查看函数的属性 :hasOwnProperty(),如果是私有属性则为true; 如果是公有属性,则为false。

<script>
var obj = {
     name:"gangwan",
     age:10
 };
 console.log(obj.hasOwnProperty("name")); // true 查看name是否是obj的私有属性
 console.log(obj.hasOwnProperty("age"));  // true 
 console.log(obj.hasOwnProperty("__proto__")); // false
 </script>

一个属性是私有属性还是公有属性,主要是看他对谁来说

添加属性

可以通过简单的赋值,向已存在的对象添加新属性。

person.nationality = "English";

删除属性

delete 关键词从对象中删除属性:

delete arr[0];
console.log(arr);

delete只能删除私有属性,不能删除公有属性

如果一个私有属性将共有属性覆重名 则会将那个公有属性覆盖

var a1 = ["a"];
console.dir(a1)
a1.push("b")
console.dir(a1)
a1.push = function () {
console.log("自己的push")
}  a1.push("c");

判断属性是否是属于一个对象

1.hasOwnProperty (判断是否是私有属性)
2.in (判断是否属于对象,不判断是公有属性还是私有属性)console.dir("age" in obj)

属性的特征

  • configurable 表示是否可以被删除 true表示可以删除
  • writable 表示是否可以修改 true表示可以修改
  • enumerable 是否可以枚举 是否可以输出 true表示可以输出
  • value 属性值 默认是und

通过Object.getOwnPropertyDescriptor 获取属性的特征

var obj = {
age:"10"
}
 console.log(Object.getOwnPropertyDescriptor(obj, "age"));
  // configurable: true
// writable: true
// enumerable: true
 // value: "10"     

感谢阅读

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值