JS对象的相关方法

对象的方法

  1. Object.freeze( obj ) : 冻结对象,使对象的属性不能删除和修改
var obj = { a : 1 , b : 2};
Object.freeze(obj);
delete obj.a;
obj.b = 20;
console.log(obj) //{a: 1, b: 2}对象属性不会改变
  1. Object.is : 相当于 ===
<script>
	//在任何时候NaN等于任何数都是false,包括他自己。
	console.log( NaN === NaN ) //false;
	console.log( Object.is( NaN === NaN )) //true
</script>
  1. Object.isExtensible( obj ) : 判断是否可扩展
	var obj = {
				a: 1,
				b: 2
			};
			Object.freeze(obj);
			console.log(Object.isExtensible(obj)) //冻结之后为false
			console.log(Object.isFrozen(obj)) //判断是否冻结 ,true			
  1. 对象.hasOwnProperty : 判断这个属性是否是对象的属性,如果是原型链属性,返回false
var obj={
			    a:1,
			    b:2
			};
			var o=Object.create(obj);
			o.c=10;
			console.log(o.hasOwnProperty("a")); //false
			console.log(o.a); // 1
			console.log(o.hasOwnProperty("c")); // true
  1. Object.defineProperty ( 对象 , 属性名 , 值的描述对象): 定义属性
var obj = {};
Object.defineProperty( obj , "abc" , {
	configurable : false,//可删除,可重复描述对象,一旦设置为false,不可删除,默认为false
	enumerable : true, //可枚举 , 默认为false(不可枚举)
	writable : false, //可修改 ,默认为false
	value : "aaa" //当前属性的值
})
obj.abc = 10;
console.log( obj ) // { abc : "aaa" }
  1. obj.propertyIsEnumerable: 判断是否可以枚举
console.log( obj.propertyIsEnumerable( "b" ))//判断对象中b这个属性是否可以枚举
  1. set和get
//如果只有set没有get ,这个属性是只写属性
//如果只有get,没有set,这个属性是只读属性

 var obj = {
        a: 1,
        b: 2,
        _e: 0,
        c: function () {},
        d: function () {},
        // set就是设置值,有且仅有一个参数
        set e(_value) {
          this._e = _value;
          console.log("aaa" + _value);
        },
        // get是没有参数,但是必须使用return返回存储的值
        get e() {
          console.log("执行get了");
          return this._e;
        },
      };

      obj.e = 10; //aaa10
      obj.e = 20; //aaa20
      obj.e++; //执行get了  aaa21
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值