对象的各种方法

1.tostring:返回当前对象的字符串形式,返回值为String类型。

[1,2,3].tostring(); --->"123";

var arr = [1,2,3];

arr1= Object.prototype.toString.call(arr);//返回"[object Array]"

arr1.slice(8,-1);

2.toLocalString();返回当前对象的"本地化"字符串形式,以便于当前环境的用户辨识和使用,返回值为String类型。

(1234567).toLocalString();"1,234,567"

3.valueOf();返回对象的原始值;

4.Object.assign(target, ...sources)把一个或多个源对象的可枚举、自有属性值复制到目标对象中,返回值为目标对象。属于浅复制。

1、 var target = { a: 1 };

var source1 = { b: 2 };

var source2 = { c: 3 };

Object.assign(target, source1, source2);第一个参数target是目标对象

target // {a:1, b:2, c:3}

5.Object.create(proto [,propertiesObject])

功能:创建一个对象,其原型为prototype,同时可添加多个属性。 

6.Object.defineProperty(obj, prop, descriptor)

功能:在一个对象上定义一个新属性或修改一个现有属性,并返回该对象。

  • obj(必须):被操作的目标对象
  • prop(必须):被定义或修改的目标属性
  • descriptor(必须):属性的描述符

7.Object.defineProperties(obj, props)

功能:在一个对象上定义一个或多个新属性或修改现有属性,并返回该对象。

  • obj(必须):被操作的目标对象
  • props(必须):该对象的一个或多个键值对定义了将要为对象添加或修改的属性的具体配置

8.getOwnPropertyDescriptor(obj, prop)

功能:获取目标对象上某自有属性的配置特性(属性描述符),返回值为配置对象。

参数:

  • obj(必须):目标对象
  • prop(必须):目标自有属性

9.Object.entries(obj)返回每个键值对组成的数组集合

对象的各种方法

10.hasOwnProperty();自身是否存在某个属性

Object.hasOwnProperty('name'); // 判断对象里面是否有name属性;

对象的各种方法

11.Object.getOwnPropertyNames  //得到对象所有键组成的数组

对象的各种方法

判断两个对象是否相等(注:一个对象不可能存在两个相同的属性名)

1.两个对象全等判断(对象里面所有都相等,包括位置),一行代码即可

对象的各种方法

2.但是这种只要调换对象里面数据位置就不可以了所以下面这种可以判断属性位置不同的是否全等

对象的各种方法