标准库

Object 对象

1. Object静态方法
  • (1) 对象属性模型的相关方法

    • Object.keys() : 获取对象自身的可遍历的属性
    • Object.getOwnPropertyNames() : 获取对象还返回不可枚举的属性名
    • Object.getOwnPropertyDescriptor():获取某个属性的描述对象。
    • Object.defineProperty():通过描述对象,定义某个属性。
    • Object.defineProperties():通过描述对象,定义多个属性。
  • (2) 控制对象状态的方法

    • Object.preventExtensions():防止对象扩展。
    • Object.isExtensible():判断对象是否可扩展。
    • Object.seal():禁止对象配置。
    • Object.isSealed():判断一个对象是否可配置。
    • Object.freeze():冻结一个对象。
    • Object.isFrozen():判断一个对象是否被冻结。
  • (3) 原型链相关方法

    • Object.create():该方法可以指定原型对象和属性,返回一个新的对象。
    • Object.getPrototypeOf():获取对象的Prototype对象。

2.Object 的实例方法

  • Object.prototype.valueOf():返回当前对象对应的值。
  • Object.prototype.toString():返回当前对象对应的字符串形式。
  • Object.prototype.toLocaleString():返回当前对象对应的本地字符串形式。
  • Object.prototype.hasOwnProperty():判断某个属性是否为当前对象自身的属 性,还是继承自原型对象的属性。
  • Object.prototype.isPrototypeOf():判断当前对象是否为另一个对象的原型。
  • Object.prototype.propertyIsEnumerable():判断某个属性是否可枚举。

属性描述对象

1.元属性

  • value 属性是目标属性的值。
  • writable 属性是一个布尔值,决定了目标属性的值(value)是否可以被改变。
  • enumerable(可遍历性)返回一个布尔值,表示目标属性是否可遍历。
  • configurable (可配置性)返回一个布尔值,决定了是否可以修改属性描述对象。也 就是说,configurable为false时,value、writable、enumerable和configurable都不能被修改了。
  • 存取器 除了直接定义以外,属性还可以用存取器(accessor)定义。其中,存值函数称为setter,使用属性描述对象的set属性;取值函数称为getter,使用属性描述对象的get属性。

Array 对象

1.静态方法

  • Array.isArray 方法返回一个布尔值,表示参数是否为数组。它可以弥补typeof运算符的不足。

2.实例方法

  • valueOf 方法是一个所有对象都拥有的方法,表示对该对象求值。不同对象的valueOf方法不尽一致,数组的valueOf方法返回数组本身。
  • toString 方法也是对象的通用方法,数组的toString方法返回数组的字符串形式。
  • push 方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。
  • pop 方法用于删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组。
  • shift() 方法用于删除数组的第一个元素,并返回该元素。注意,该方法会改变原数组。
  • unshift() 方法用于在数组的第一个位置添加元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。
  • join() 方法以指定参数作为分隔符,将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔。
  • concat 方法用于多个数组的合并。它将新数组的成员,添加到原数组成员的后部,然后返回一个新数组,原数组不变。
  • reverse 方法用于颠倒排列数组元素,返回改变后的数组。注意,该方法将改变原数组。
  • slice 方法用于提取目标数组的一部分,返回一个新数组,原数组不变。
  • splice 方法用于删除原数组的一部分成员,并可以在删除的位置添加新的数组成员,返回值是被删除的元素。注意,该方法会改变原数组。
  • sort 方法对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变。
  • map 方法将数组的所有成员依次传入参数函数,然后把每一次的执行结果组成一个新数组返回。
  • forEach 方法与map方法很相似,也是对数组的所有成员依次执行参数函数。但是,forEach方法不返回值,只用来操作数据。这就是说,如果数组遍历的目的是为了得到返回值,那么使用map方法,否则使用forEach方法。
  • filter 方法用于过滤数组成员,满足条件的成员组成一个新数组返回。
  • some 方法是只要一个成员的返回值是true,则整个some方法的返回值就是true,否则返回false。
  • every 方法是所有成员的返回值都是true,整个every方法才返回true,否则返回false。
  • reduce 是从左到右处理(从第一个成员到最后一个成员)依次处理数组的每个成员,最终累计为一个值
  • reduceRight 则是从右到左(从最后一个成员到第一个成员),依次处理数组的每个成员,最终累计为一个值
  • indexOf 方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。
  • lastIndexOf 方法返回给定元素在数组中最后一次出现的位置,如果没有出现则返回-1。

3. 链式引用

var users = [
  {name: 'tom', email: 'tom@example.com'},
  {name: 'peter', email: 'peter@example.com'}
];

users
.map(function (user) {
  return user.email;
})
.filter(function (email) {
  return /^t/.test(email);
})
.forEach(function (email) {
  console.log(email);
});
// "tom@example.com"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容