Javascript之內置對象

219 阅读9分钟

全局对象

方法

debodeURI
解码URL
encodeURI
把字符串编码为URL
debodeURIComponent
解码URL
encodeURIComponent 把字符串编码为URL

Object

构造函数方法

  • Object.assign
    通过复制一个或多个对象和属性来创建一个新对象,常用来合并对象。
  • Object.create
    通过对象原型对象来创建一个新对象。
  • Object.definePropety
    给指定对象添加属性并指定该属性配置。
  • Object.definePropeties
    给指定对象添加多个属性并指定该属性配置。
  • Object.entries
    返回对象可枚举属性的[key, value],以数组的形式。
  • Object.freeze
    冻结对象,不可以再更改。
  • Object.getOwnPropetyDescriptor
    返回指定对象的属性配置。
  • Object.getOwnPropetyNames
    返回所有属性组成的数组.
  • Object.getOwnPropertySymbols
    返回一个数组,它包含了指定对象自身所有的符号属性。
  • Object.getPropetyOf
    返回对象的原型对象。
  • Object.is
    比较两个值是否相同。所有 NaN 值都相等(这与==和===不同)。
  • Object.isFronze
    判断对象是否被冻结。
  • Object.isSealed
    判断对象是否已经密封。
  • Object.keys
    返回一个包含所有给定对象自身可枚举属性名称的数组。
  • Object.preventExtensions
    防止对象的任何扩展。
  • Object.seal
    防止其他代码删除对象的属性。
  • Object.setPrototypeOf
    设置对象的原型(即内部 [[Prototype]] 属性)。
  • Object.values
    返回给定对象自身可枚举值的数组。

实例方法

  • Object.prototype.hasOwnPropety
    对象是否有指定属性,而不是原型链继承的。
  • Object.prototype.isPropetyOf
    对象是否有指定属性,并且是在原型链上的。

Object.prototype

keys 返回一个由指定对象可枚举的属性组成的数组。

String

方法

  • String.prototype.charAt
    返回指定索引的字符
  • String.prototype.match
    返回一个字符串匹配正则表达式的结果,以数组的形式。
  • String.prototype.split
    使用指定的分隔符(可以是正则表达式),将字符串切割为数组,并返回。(不影响原字符串)
  • String.prototype.toLowerCase
    将调用该方法的字符串值转为小写,并返回。(不影响原字符串)
  • String.prototype.toUpperCase
    将调用该方法的字符串值转为大写,并返回。(不影响原字符串)
  • String.prototype.trim
    移除字符串两端空白字符,并返回。(不影响原字符串)

Array

属性

Array.length 数组长度

方法

  • new Array()
    实例化一个数组对象,可指定长度。
  • Array.from()
    从一个类数组或可迭代的对象中创建一个新的、浅拷贝的数组,可以添加回调和提定this环境
  • Array.isArray()
    用于判定传递的值是否为数组,返回布尔值
  • Array.of()
    创建一个新数组,不限制参数类型

修改器方法

以下方法會修改原數組

  • Array.prototype.copyWithin
    在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值。
  • Array.prototype.fill
    将数组指定区间的值,全部替换为指定值。
  • Array.prototype.pop
    从数组尾部删除一个元素,并返回刪除元素,空数组时返回undefined
  • Array.prototype.push
    在数组尾部添加一个或多个元素,并返回数组的新长度。
  • Array.prototype.reverse
    颠倒数组元素的排序。
  • Array.prototype.shift
    删除数组第一个元素,并返回删除元素。
  • Array.prototype.sort
    对数组进行排序,并返回当前数组。
  • Array.prototype.splice
    在数组任意位置添加或删除任意个元素,并以数组形式返回被修改元素。
  • Array.prototype.unshift
    在数组头部添加一个或多个元素,并返回数组新长度。

访问方法

以下方法不會修改原數組

  • Array.prototype.concat
    返回一个由当前数组与若干个数组或非数组的值组成的新数组。
  • Array.prototype.includes
    判断当前数组是否包含某个元素,返回布尔值。
  • Array.prototype.join
    用指定的分隔符连接数组所有元素组成字符串,默认分隔符为,
  • Array.prototype.slice
    抽取数组一段元素组成新数组并返回。
  • Array.prototype.toString
    返回一个由数组所有元素以,连接成的字符串,当对数组使用字符串操作方法时自动调用。
  • Array.prototype.toLocaleString
    返回一个由数组所有元素以,连接成的字符串,当对数组使用字符串操作方法时自动调用。
  • Array.prototype.indexOf
    返回第一个与指定元素相等元素的索引,如果没有则返回-1。
  • Array.prototype.lastIndexOf
    返回最后一个与指定元素相等元素的索引,如果没有则返回-1。

迭代方法

以下大多数方法都是提供回调函数对数组进行操作,在执行过程应该避免对原数组进行修改,以免造成不可预计的错误

  • Array.prototype.forEach
    为数组每一个元素执行一次回调方法,注意过程不能通过breakretruecontinue退出。
  • Array.prototype.entries
    返回一个数组迭代器对象,该迭代器会包含所有数组元素的键值对。
  • Array.prototype.every
    如果数组元素都通过测试函数,则返回true,否则返回false,空数组时是true
  • Array.prototype.some
    如果数组元素至少有一个都通过测试函数,则返回true,否则返回false,空数组时是false
  • Array.prototype.filter
    将所有在过滤函数中返回true的元素组成数组后返回。
  • Array.prototype.find
    找到第一个通过测试函数的元素的值,并返回,如果没有则返回undefined
  • Array.prototype.findIndex
    找到第一个通过测试函数的元素的索引,并返回,如果没有则返回-1
  • Array.prototype.keys
    返回一个数组迭代器对象,该迭代器会包含所有数组元素的键。
  • Array.prototype.map
    返回一个由回调函数返回值组成的新数组。
  • Array.prototype.reduce
    从左往右为每一个元素执行一次加调函数,并把上一次的回调函数放在一个暂存器中传给下一次回调函数,并返回最后一次回调函数的返回值
  • Array.prototype.reduceRight
    Array.prototype.reduceRight执行方向相反
  • Array.prototype.values
    返回一个数组迭代器对象,该迭代器会包含所有数组元素的值。

Date

方法

  • Date.now
    返回自 1970-1-1 00:00:00 UTC(世界标准时间)至今所经过的毫秒数。
  • Date.parse
    解析一个表示日期的字符串,并返回从 1970-1-1 00:00:00 所经过的毫秒数。

Gettter

  • Data.prototype.getDate
    返指定日期对象月份中的第几天(1~31)。
  • Data.prototype.getDay
    返指定日期对象星期中的第几天(0~6)。
  • Data.prototype.getFullYear
    返指定日期对象的年份(完整年份)。
  • Data.prototype.getHours
    返指定日期对象的时间(0~23)。
  • Data.prototype.getMilliseconds
    返指定日期对象的毫秒(0~999)。.
  • Data.prototype.getMinutes
    返指定日期对象的分钟(0~59)。
  • Data.prototype.getMonth
    返指定日期对象的月份(0~11)。
  • Data.prototype.getSeconds
    返指定日期对象的秒数(0~59)。
  • Data.prototype.getTime
    返回从1970-1-1 00:00:00 UTC(协调世界时)到该日期经过的毫秒数。
  • Data.prototype.getTimezoneOffset
    返指定日期对象时区偏移的时间差,单位为分钟

Setter

getter一一对应。

Change Getter

  • Date.prototype.toDateString
    以人类易读的形式返回日期部分的字符串
  • Date.prototype.toISOString
    把日期转换为符合 ISO 8601 扩展格式的字符串。
  • Date.prototype.toJSON
    使用 toISOString() 返回一个表示该日期的字符串。
  • Date.prototype.toLocaleDateString
    以系统设置的地区为标准返回当前日期部分的字符串
  • Date.prototype.toLocaleString
    以系统设置的地区为标准返回当前时间与日期的字符串
  • Date.prototype.toLocaleTimeString
    以系统设置的地区为标准返回当前时间部分的字符串
  • Date.prototype.toString
    返回一个表示该日期对象的字符串。
  • Date.prototype.toTimeString
    以人类易读格式返回日期对象时间部分的字符串。
  • Date.prototype.toUTCString
    把一个日期对象转换为一个以UTC时区计时的字符串。

Function

方法

  • Function.prototype.apply
    调用一个指定this环境的函数,接收一个参数数组
  • Function.prototype.call
    调用一个指定this环境的函数,接收一个参数列表
  • Function.prototype.bind
    方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。

JSON

方法

  • JSON.parse
    解析json字符串,构造由字符串描述的js对像或值
  • JSON.stringify
    将js值或对象转化成一个json字符串

Math

方法

  • Math.abs
    返回数字的绝对值。
  • Math.max
    返回给定数字列表中最大值。
  • Math.min
    返回给定数字列表中最小值。
  • Math.ceil
    返回向上取整的值。
  • Math.floor
    返回向下取整的最大值。
  • Math.random
    返回0~1(不包含1)的伪随机数,不能用来处理有关安全事宜。
  • Math.round
    返回四舍五入后的值。

NaN

表示不是一个数字

方法

isNaN
判断是否不是个数字,会尝试转换为Number后判断,返回布尔值。

Number

方法

  • Number.isInteger
    判断传递值是否为整数。
  • Number.isSafeInteger
    判断是否为安全整数 ( -(253 - 1) 至 253 - 1之间)。
  • Number.parseFloat
    将字符串转换为浮点数。
  • Number.parseInt
    将字符串转换为整数。
  • Number.prototype.toFixed
    把数字转换为字符串,结果小数点后面保留(0~20)指定的位数。

Promise

方法

  • Promise.all
    这个方法返回一个新的promise对象,该promise对象在iterable参数对象里所有的promise对象都成功的时候才会触发成功,一旦有任何一个iterable里面的promise对象失败则立即触发该promise对象的失败。这个新的promise对象在触发成功状态以后,会把一个包含iterable里所有promise返回值的数组作为成功回调的返回值,顺序跟iterable的顺序保持一致;如果这个新的promise对象触发了失败状态,它会把iterable里第一个触发失败的promise对象的错误信息作为它的失败错误信息。Promise.all方法常被用于处理多个promise对象的状态集合。
  • Promise.race
    当iterable参数里的任意一个子promise被成功或失败后,父promise马上也会用子promise的成功返回值或失败详情作为参数调用父promise绑定的相应句柄,并返回该promise对象。
  • Promise.reject
    返回一个状态为失败的Promise对象,并将给定的失败信息传递给对应的处理方法。
  • Promise.resolve
    返回一个状态由给定value决定的Promise对象。如果该值是thenable(即,带有then方法的对象),返回的Promise对象的最终状态由then方法执行决定;否则的话(该value为空,基本类型或者不带then方法的对象),返回的Promise对象状态为fulfilled,并且将该value传递给对应的then方法。通常而言,如果你不知道一个值是否是Promise对象,使用Promise.resolve(value) 来返回一个Promise对象,这样就能将该value以Promise对象形式使用。

原型方法

  • Promise.prototype.catch
    添加一个拒绝(rejection) 回调到当前 promise, 返回一个新的promise。当这个回调函数被调用,新 promise 将以它的返回值来resolve,否则如果当前promise 进入fulfilled状态,则以当前promise的完成结果作为新promise的完成结果.
  • Promise.prototype.then
    添加解决(fulfillment)和拒绝(rejection)回调到当前 promise, 返回一个新的 promise, 将以回调的返回值来resolve.
  • Promise.prototype.finally
    添加一个事件处理回调于当前promise对象,并且在原promise对象解析完毕后,返回一个新的promise对象。回调会在当前promise运行完毕后被调用,无论当前promise的状态是完成(fulfilled)还是失败(rejected)