• ES5新增的原型的拓展和对象的拓展


    原型拓展: 

      isPrototypeOf

        A.isPrototypeOf(B): 返回值为布尔类型,表示A是否为B的原型对象

      getPrototypeOf

        Object.getPrototypeOf(A): 获得A的原型对象

        以前获取对象的原型用__proto__,但是__proto__属性以__开头,属于私有的属性,是不希望我们使用的

        __proto__属性是等价的

      setPrototypeOf

        Object.setPrototypeOf(A, B): 将B设置为A的原型对象,前提B为一个对象或者null

    对象拓展: 

      针对对象的属性进行的操作

        属性操作分为:增删改查

      preventExtensions    

        调用方式: Object.preventExtensions(obj)

        阻止obj的扩展,obj不能添加新的属性和方法

        禁拓是不可逆的,一旦禁拓就无法解除

        查看对象是否可以扩展:Object.isExtensible(obj) 查看obj对象是否可以扩展,返回值为布尔值

      seal    

        密封对象:对象的属性不能被添加,也不能被删除(保证属性的数量不发生改变)

        Object.seal(obj): 对obj对象密封

        封闭是不可逆的,一旦封闭就无法解封

        Object.isSealed(obj):查看obj对象是否密封,返回值为布尔值

      freeze    

        冻结对象:不能删除、不能修改,不能添加

        调用方式:Object.freeze(obj): 将obj对象冻结

        冻结是不可逆的,一旦冻结就无法解冻

        Object.isFrozen(obj):查看obj对象是否被冻结

      create    

        Object.create(prototype, description)

        返回值为:一个新的对象

        prototype: 生成对象的原型对象

        description: 特性对象

  • 相关阅读:
    数据表的水平拆分
    高性能网站架构
    文本框内容改变触发事件
    树莓派3B(1)- Raspberry Pi 3B 安装系统并联网
    一年经验Java程序员面经小记
    Windows系统安装总结
    树莓派3B(2)- 配置多个wifi,自动寻找可用网络
    Centos7 Apache实现Http访问SVN资源库
    Centos7搭建svn服务
    读《重构 改善既有代码的设计》有感
  • 原文地址:https://www.cnblogs.com/yess/p/14677934.html
Copyright © 2020-2023  润新知