JavaScript基础 - 22 (保护对象、创建对象&指定原型)

1、保护对象的方法

        1.1:阻止扩展: 不能新增属性   Object.preventExtensions(obj)

        1.2:不能增删:seal密封的意思   Object.seal(obj)

        1.3:冻结freeze:不能增删改   Object.freeze(obj)

   //有时候我们需要把整个对象都保护起来
    var yanan = {
      name:"丫丫",
      age:19,
      phone:"13411111111"
    };

    //级别1:阻止扩展  不能新增属性
    Object.preventExtensions(yanan);
    // yanan.boyfriend = "彭于晏";  报错
    yanan.age=23;
    delete yanan.age;
    console.log(yanan);

    //级别2:不能增删  seal密封的意思
    Object.seal(yanan);
    // yanan.boyfriend = "吴彦祖";    报错
    // delete yanan.name;    报错

    //级别3:冻结freeze,不能增删改
    Object.freeze(yanan);
    // yanan.boyfriend = "阿坤";  报错
    // delete yanan.phone;  报错
    // yanan.name = "楠楠";   报错,不可修改

2、创建对象&指定原型

        setPrototypeOf( ):可以为已存在的一个对象,设置原型

       此方法执行要分两步:

           ①.先有一个对象

           ②.再为这个对象指定原型

        Object.create(参数1,参数2 ):是简化之前的操作,参数1:新对象的原型,参数2:新对象的各种属性设置

        ①.创建新对象

        ②.指定原型

        ③.为新对象的每个属性增加自定义的配置

   //制作1个原型
    var mayun = {
      money:9999999,
      houses:111111,
    };

    //参数1:新对象的原型,参数2:新对象的各种属性设置
    var xiaoLiang = Object.create(mayun,{
      name:{
        value:"小亮",
        //通过方法新增对象,所有配置项默认值都是false
        writable:true,
        enumerable:true,
      },
      age:{
        value:2,
        writable:true,
        enumerable:true
      }
    }); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值