zoukankan      html  css  js  c++  java
  • Object对象

    Object对象

    JavaScript原生提供一个Object对象(注意起首的O是大写),所有其他对象都继承自这个对象。Object本身也是一个构造函数,可以直接通过它来生成新对象。

    Object作为构造函数使用时,可以接受一个参数。如果该参数是一个对象,则直接返回这个对象;如果是一个原始类型的值,则返回该值对应的包装对象

    new Object(123) instanceof Number
    // true
    

    与其他构造函数一样,如果要在Object对象上面部署一个方法,有两种做法。

    (1)部署在Object对象本身,Object 对象的静态方法

    (1)对象属性模型的相关方法
        Object.keys()用来遍历对象的属性。它们的参数都是一个对象,都返回一个数组,该数组的成员都是对象自身的(而不是继承的),且可枚举的所有属性名
        
        Object.getOwnPropertyNames():返回直接定义在某个对象上面的全部属性的名称(自身和继承)。
        
        Object.getOwnPropertyDescriptor():获取某个属性的attributes对象。
        Object.defineProperty():通过attributes对象,定义某个属性。
        Object.defineProperties():通过attributes对象,定义多个属性。
    
    
    (2)控制对象状态的方法
    
        Object.preventExtensions():防止对象扩展。
        Object.isExtensible():判断对象是否可扩展。
        Object.seal():禁止对象配置。
        Object.isSealed():判断一个对象是否可配置。
        
    (3)原型链相关方法
    
        Object.create():生成一个新对象,并该对象的原型。
        Object.getPrototypeOf():获取对象的Prototype对象。
    

    (2)部署在Object.prototype对象,Object对象的实例方法

    除了Object对象本身的方法,还有不少方法是部署在Object.prototype对象上的,所有Object的实例对象都继承了这些方法。object类型是所有它的实例的基础,所以object类型所具有的方法,也同样存在于更具体的对象中

    所有构造函数都有一个prototype属性,指向一个原型对象。凡是定义在Object.prototype对象上面的属性和方法,将被所有实例对象共享。

    Object实例对象的方法,主要有以下六个。

    (1) valueOf():返回当前对象对应的值。
    var o = new Object();
    o.valueOf() === o // true
    
    (2)toString():返回当前对象对应的字符串形式。
    var o = new Object("hello");
    o.toString();//"hello"
    
    (3)toLocaleString():返回当前对象对应的本地字符串形式。
    
    (4)hasOwnProperty():判断某个属性是否为当前对象自身的属性,还是继承自原型对象的属性。
    o.hasOwnProperty("x")//o自身是否有"x"属性
    
    (5)isPrototypeOf():判断当前对象是否为另一个对象的原型。
    p.isPrototypeOf(o)//检测p是否是o的原型
    
    (6)propertyIsEnumerable():判断某个属性是否可枚举。
    o.propertyIsEnumerable("x")
    
  • 相关阅读:
    寒假day08
    操作系统(一)操作系统的目标和作用
    数据结构排序算法稳定性总结——写给自己看
    网络请求生命周期
    PHP 不同类型之间的松散和严格比较
    php配置可被设定范围
    laravel5.7 前后端分离开发 实现基于API请求的token认证
    laravel 自动加载 自定义的文件/辅助函数
    laravel5.7 migrate 时报错 Specified key was too long error 解决方案
    PHP 命名空间
  • 原文地址:https://www.cnblogs.com/YeChing/p/6321778.html
Copyright © 2011-2022 走看看