Object 4个月前

编程语言
187
Object

Object 对象

概述

JavaScript 原生提供Object对象, 其他对象都继承自Object对象,即都是Object的实例。

Object的原生方法有两种:

本身方法 : 直接定义在Object对象的方法。

Object.print = function (xxx) {  //print方法直接定义在Object对象本身
    console.log(xxx); 
};

实例方法 :定义在Object原型对象Object.prototype上的方法。可被Object实例直接使用。

Object.prototype.print = function () {
  console.log(this);
};

var obj = new Object();
obj.print() // Object

上面代码中,Object.prototype定义了一个print方法,然后生成一个Object的实例objobj直接继承了Object.prototype的属性和方法,可以直接使用obj.print调用print方法。也就是说,obj对象的print方法实质上就是调用Object.prototype.print方法。

Object()

Object本身是一个函数,将任意值转为对象, 常用于保证某个值一定是对象。

参数为空(orundefined null)返回一个空对象。

var obj = Object();
var obj = Object(undefined);
var obj = Object(null);

obj instanceof Object // true

instanceof运算符用来验证,一个对象是否为指定的构造函数的实例。 obj instanceof Objectreturntrue,就表示obj对象是Object的实例。

如果参数是原始类型的值,Object方法将其转为对应的包装对象的实例

var obj = Object(1);
obj instanceof Object // true
obj instanceof Number // true

Object函数的参数是原始类型的值,转换成对象就是原始类型值对应的包装对象。 若参数是一个对象,返回该对象,不用转换。

var arr = [];
var obj = Object(arr); // 返回原数组
obj === arr // true

Object 构造函数

Object还可以当作构造函数使用,可以使用new命令。

Object构造函数的首要用途,是直接通过它来生成新对象。

var obj = new Object();

通过var obj = new Object()与字面量的写法var obj = {}是等价的。

Object构造函数的用法与工具方法很相似,几乎一模一样。使用时,可以接受一个参数,如果该参数是一个对象,则直接返回这个对象;如果是一个原始类型的值,则返回该值对应的包装对象

var o1 = {a: 1};
var o2 = new Object(o1);
o1 === o2 // true

var obj = new Object(123);
obj instanceof Number // true
image
EchoEcho官方
无论前方如何,请不要后悔与我相遇。
1377
发布数
439
关注者
2222683
累计阅读

热门教程文档

React
18小节
Typescript
31小节
Swift
54小节
Linux
51小节
Kotlin
68小节