您当前的位置:首页 > 计算机 > 编程开发 > JavaScript

JS Object对象的静态函数

时间:03-07来源:作者:点击数:

JavaScript 原生提供 Object 类型对象,其他所有对象都继承 Object,都是 Object 的实例。Object 原生方法分成两类:Object 原型方法和 Object 静态函数。

  • Object 原型方法定义在 Object.prototype 对象上,所有 Object 实例对象都会继承这些方法。
  • Object 静态函数就是定义在 Object 对象上的方法,通过 Object 直接调用,不需要实例继承。

本节只介绍 Object 静态函数,Object 原型方法会在后面几节中详细介绍,分别为:

对象包装函数

Object() 也是一个函数,它可以将任意值转为对象。如果参数为空,或者为 undefined 和 null,Object() 将返回一个空对象。例如:

var obj = Object();
//等同于
var obj = Object(undefined);
var obj = Object(null);

示例

如果参数为数组、对象、函数,则返回原对象,不进行转换。根据这个特性,可以设计一个类型检测函数,专门检测一个值是否为引用型对象。

function isObject (value) {
    return value === Object (value);
}
console.log(isObject([]));  //true
console.log(isObject(true));  //false

对象构造函数

Object() 不仅可以当做工具函数使用,还可以当作构造函数使用。如果使用 new 命令调用 Object() 函数,将创建一个实例对象。例如,下面代码将创建一个新的实例对象。

var obj = new Object();

静态函数

Object 对象包含很多静态函数,简单总结如下:

  • 遍历对象

Object.keys:以数组形式返回参数对象包含的可枚举的私有属性。

Object.getOwnPropertyNames:以数组形式返回参数对象包含的私有属性名。

  • 对象属性

Object.getOwnPropertyDescriptor():获取某个属性的描述对象。

Object.defineProperty():通过描述对象,定义某个属性。

Object.defineProperties():通过描述对象,定义多个属性。

  • 对象状态控制

Object.preventExtensions():防止对象扩展。

Object.isExtensible():判断对象是否可扩展。

Object.seal():禁止对象配置。

Object.isSealed():判断一个对象是否可配置。

Object.freeze():冻结一个对象。

Object.isFrozen():判断一个对象是否被冻结。

  • 对象原型

Object.create():返回一个新的对象,并指定原型对象和属性。

Object.getPrototypeOf():获取对象的 Prototype 对象。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门