标准库
Function
实例属性
⭐
length函数形参的个数。
name函数实例的名称。
实例方法
⭐
apply(thisArg, [args])将方法应用在
thisArg上,args为参数数组。⭐
call(thisArg, arg1, arg2, ...)将方法应用在
thisArg上。⭐
bind(thisArg, arg1, arg2, ...)返回一个与
thisArg绑定的函数实例,之后的参数会直接作为函数参数。调用函数时,实参会视为额外的参数。toString()返回函数的源代码
Object
实例属性
⭐
__proto__实例对象上的原型指针,对于
new Object()来说,它的__proto__即为Object.prototype。该属性因为性能原因已弃用,建议使用
Object.getPrototypeOf/Reflect.getPrototypeOf和Object.setPrototypeOf/Reflect.setPrototypeOf。
实例方法
⭐
constructorObject构造函数的引用。⭐
hasOwnProperty(prop)判断是否含有指定属性。
⭐
isPrototypeOf(obj)判断该对象是否存在于另一个对象的原型链上。
propertyIsEnumerable(prop)判断指定的属性是否可枚举。
toLocaleString()针对本地化的表示对象的字符串。
⭐
toString()一个表示该对象的字符串。
⭐
valueOf()返回对象所代表的值。可以手动覆盖这个方法来达到一些目的。
类属性
⭐
Object.assign(obj, src1, src2, ...)将
src的对象附加到obj上,且这种附加是浅拷贝,只复制引用值。⭐
Object.create(proto, [obj])以
proto作为新对象的__proto__创建对象,同时将obj附加在新对象上。⭐
Object.defineProperty(obj, prop, descriptor)该方法会直接
obj定义一个新属性,或者修改一个对象的现有属性,并返回此对象。Object.defineProperties(obj, props)直接在
obj定义新的属性或修改现有属性,并返回该对象。⭐
Object.getPrototypeOf(obj)返回
obj的原型,即obj.__proto__。Object.setPrototypeOf(obj, proto)设置
obj的原型为proto。Object.is(obj1, obj2)判断
obj1和obj2是否为同一个值。与
==不同的是,===运算符将数字 -0 和 +0 视为相等 ,而将Number.NaN与NaN视为不相等。Object.keys(obj)返回
obj可枚举属性名的字符串数组,与循环遍历的顺序一致。Object.values(obj)返回
obj可枚举属性值的字符串数组,与循环遍历的顺序一致。Object.entries(obj)返回
obj可枚举属性的键值对数组,与循环遍历的顺序一致。Object.freeze(obj)冻结
obj使之不会以任何方式被修改。Object.isFrozen(obj)判断
obj是否被冻结。Object.fromEntries(pairs)该方法把键值对列表转换为一个对象。
Object.getOwnPropertyDescriptor(obj, prop)返回
obj的prop属性的属性描述符Object.getOwnPropertyDescriptors(obj)返回一个包含
obj所有属性的属性描述符的对象。Object.getOwnPropertyNames(obj)返回
obj的所有属性名所组成的数组。Object.getOwnPropertySymbols(obj)返回
obj的所有Symbol属性的数组。Object.preventExtensions(obj)使
obj永远不能再添加新的属性。Object.isExtensible(obj)判断是否可以在
obj上面添加新的属性。Object.seal(obj)密封
obj。密封一个对象会让这个对象变的不能添加新属性,且所有已有属性会变的不可配置。属性不可配置的效果就是属性变得不可删除,以及一个数据属性不能被重新定义成为访问器属性。Object.isSealed(obj)判断一个对象是否被密封。
Array
构造方法
[element0, element1, ..., elementN]new Array(element0, element1[, ...[, elementN]])new Array(arrayLength)
实例属性
⭐
length数组的元素个数
实例方法
at(index)(实验性用法)返回下标所对应的元素。与下标语法不同的是,
index可以为负数来表示倒数。⭐
concat(arr1, arr2, ...)返回一个与所给数组合并的数组。原数组不会更改。
copyWithin(target[, start, end])浅复制下标
start到end(不包括end)的元素到从target开始的位置,并返回这个数组。该方法会修改原数组,但不会改变原数组的长度。如果
target大于等于length,将会不发生拷贝。如果
start被忽略,copyWithin将会从 0 开始复制。如果
end被忽略,copyWithin方法将会一直复制至数组结尾(即length)。⭐
slice([begin, end])返回一个新的数组对象,这一对象是一个由
begin和end(不包括end)决定的原数组的浅拷贝。如果省略
begin,则slice从索引 0 开始。如果
begin超出原数组的索引范围,则会返回空数组。如果
end被省略,或大于数组长度,则slice会一直提取到原数组末尾。⭐
splice(start[, deleteCount, item1, item2, ...])从
start开始,删除deleteCount个元素,然后在该位置向后添加元素。该方法会修改原数组,并返回包含被删除元素的数组。如果
deleteCount被省略了,那么start之后数组的所有元素都会被删除。如果
deleteCount是 0 或者负数,则不移除元素。这种情况下,至少应添加一个新元素。⭐
fill(value[, start, end])用
value填充一个数组start默认为 0 ,end默认为length。⭐
push(element1, ..., elementN)在末尾添加元素,并返回数组的新长度。
⭐
pop()删除最后一个元素,并返回该元素。
⭐
unshift(element1, ..., elementN)在开头添加元素,并返回数组的新长度。
⭐
shift()删除第一个元素,并返回该元素。
⭐
join([separator])返回一个字符串,用
separator将每个元素进行连接形成。⭐
includes(value[, fromIndex])判断一个数组是否包含
value。fromIndex默认为 0 ,下同。⭐
indexOf(value[, fromIndex])返回第一个值为
value的索引。如果不存在返回 -1 。lastIndexOf(value[, fromIndex])返回最后一个值为
value的索引。如果不存在返回 -1 。⭐
every(callback(element[, index, array]), thisArg)返回一个布尔值,判断是否每一个元素满足给定的测试函数。
thisArg为执行callback时使用的this值,可选,下同。⭐
some(callback, thisArg)返回一个布尔值,判断是否存在一个元素满足给定的测试函数。
⭐
filter(callback, thisArg)利用测试函数来过滤数组中的元素,返回一个新数组。
⭐
find(callback, thisArg)返回满足测试函数的第一个元素。否则返回
undefined。⭐
findIndex(callback, thisArg)返回满足测试函数的元素的索引。否则返回 -1 。
⭐
map(callback, thisArg)返回一个新数组,每个元素将通过
callback进行转换。⭐
reduce(callback(accumulator, currentValue[, index, array]), initialValue)在初始值
initialValue的基础上,对每一个元素执行callback,accumulator为当前累加的状态。如果没有提供
initialValue,则使用第一个值。该参数可选,下同。比如数组求和可以写为
[1, 2, 3].reduce((accu, curr) => accu + curr, 0)。reduceRight(callback(accumulator, currentValue[, index, array]), initialValue)同
reduce方法,却别在于从右向左累加。⭐
reverse()逆转数组,该方法会修改原数组。
⭐
sort([compareFunction])在数组自身上,根据
compareFunction进行排序。compareFunction中,返回小于 0 的值表示 "小于" ,0 表示等于,大于 0 的值表示 "大于" 。⭐
flat([depth])将数组扁平化。比如
[1, [2]]扁平化为[1, 2],深度为 1 。该方法返回一个新数组。可以指定
depth为Infinity来完全扁平化。⭐
flatMap(callback(currentValue[, index, array]), thisArg)返回一个新数组,每个元素将通过
callback进行转换,转换后还会进行深度为 1 的扁平化处理。⭐
forEach(callback(currentValue[, index, array]), thisArg)对每一个元素执行一次
callback。keys()返回一个包含数组中每个索引键的迭代器对象。
values()返回一个包含数组中每个元素的迭代器对象。
entrys()返回一个包含数组中所有键值对的迭代器对象。
类方法
⭐
Array.from(arrayLike, mapFn, thisArg)从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。每个元素会通过
mapFn转化,该参数同thisArg可选。⭐
Array.isArray(obj)判断
obj是否为数组实例。⭐
Array.of(element0, element1, ...)根据所给元素创建数组。
Number
构造方法
new Number(value)创建一个
Number对象。Number(value)返回一个数值。
实例方法
toExponential(fractionDigits)返回一个指数计数法表示的字符串。
fractionDigits指定小数点后保留位数。toFixed(digits)返回一个字符串,四舍五入到小数点保留
digits位。toPrecision(precision)返回一个字符串,精确到
precision位有效数字的字符串。
类属性
Number.EPSILON大于 1 的最小的浮点数与 1 之间的差值。即 2 的 -52 次方。
Number.MAX_SAFE_INTEGER表示在 JavaScript 中最大的安全整数(2^53 - 1)。
Number.MAX_VALUE表示在 JavaScript 里所能表示的最大数值。
Number.MIN_SAFE_INTEGER表示在 JavaScript 中最大的安全整数(- 2^53 + 1)。
Number.MIN_VALUE表示在 JavaScript 里所能表示的最小数值。
Number.NaN和
NaN相同。Number.NEGATIVE_INFINITYNumber.POSITIVE_INFINITY
类方法
Number.isFinite(value)Number.isInteger(value)Number.isNaN(value)Number.isSafeInteger(testValue)Number.parseFloat(string)给定值被解析成浮点数,如果无法被解析成浮点数,则返回
NaN。Number.parseInt(string[, radix])根据基数
radix解析成整数,如果无法被解析成浮点数,则返回NaN。
String
构造方法
new String(thing)创建一个 String 对象。
String(thing)返回一个原始类型字符串。
实例属性
length
实例方法
⭐
toLowerCase()/toLocaleLowerCase([...locales])返回一个新字符串,将所有大写字符转为小写。
⭐
toUpperCase()/toLocaleUpperCase([...locales])返回一个新字符串,将所有小写字符转为大写。
repeat(count)返回一个指定数量连接起来的字符串。
concat(...strs)返回一个拼接后的字符串。
出于性能,强烈建议使用赋值操作符(
++=)代替concat方法。padStart(maxLength[, padString])返回一个新字符串,在字符串开头添加数个
padString,使整个字符串长度控制为maxLength。padEnd(maxLength[, padString])返回一个新字符串,在字符串末尾添加数个
padString,使整个字符串长度控制为maxLength。trimStart()/trimLeft()返回一个新字符串,去除开头空白。
trimEnd()/trimRight()返回一个新字符串,去除末尾空白。
⭐
trim()返回一个新字符串,去除两端空白。
⭐
split([separator[, limit]])分割字符串。
separator分隔符可以是字符串或正则表达式。limit为分割片段数量。如果没有指定
separator则会返回整个字符串。⭐
slice(beginIndex[, endIndex])⭐
substring(indexStart[, indexEnd])返回一个子字符串。与
slice方法不同,索引值不可以为负数。但是indexStart可以小于indexEnd,执行方法的时候会取两者正确的大小顺序。⭐
startsWith(searchString[, position])判断字符串开头是否匹配。
⭐
endsWith(searchString[, length])判断字符串结尾是否匹配。
⭐
includes(searchString[, position])判断一个字符串是否包含在另一个字符串中。
charAt(index)charCodeAt(index)返回 0 到 65535 之间的整数,表示给定索引处的 UTF-16 代码单元。
codePointAt(pos)返回一个 Unicode 编码点值的非负整数。
normalize([form])返回根据
form标准化后的字符串。⭐
indexOf(searchValue [, fromIndex])查找的字符串
searchValue的第一次出现的索引,如果没有找到,则返回 -1 。lastIndexOf(searchValue[, fromIndex])⭐
match(regexp)返回一个字符串匹配正则表达式的字符串数组。
如果使用
g标志,则将返回与完整正则表达式匹配的所有结果,但不会返回捕获组。如果未使用
g标志,则仅返回第一个完整匹配及其相关的捕获组。⭐
matchAll(regexp)返回一个包含所有匹配正则表达式的结果及分组捕获组的迭代器。
⭐
search(regexp)返回正则表达式在字符串中首次匹配项的索引,否则返回 -1 。
⭐
replace(pattern, newSubStr|function)替换字符串中匹配的字符串。第二个参数可以是字符串,或者一个处理匹配项的函数。
如果
pattern是字符串,则只替换第一个匹配项。如果
pattern是正则对象,则会应用每一个匹配项。⭐
replaceAll(pattern, newSubStr|function)根据
pattern替换所有匹配项。localeCompare(compareString[, locales[, options]])返回一个数字来指示一个参考字符串是否在排序顺序前面或之后或与给定字符串相同。
valueOf()
类方法
String.fromCharCode(...nums)返回由
numsUTF-16 代码单元组成的字符串。String.fromCodePoint(...nums)返回由
numsUnicode 编码位置组成的字符串。String.raw(template, ...substitutions)根据
template参数创建新字符串,substitutions是内插字符串。(具体见链接)String.raw `template`返回一个字符串,
template中可以使用${...}。
Date
构造方法
new Date()new Date(timestamp)new Date(dateString)new Date(year, month, date, hrs, min, sec, ms)参数从右向左可选。
Date()返回一个字符串。
类方法
Date.now()返回自 1970-1-1 00:00:00 UTC 到当前时间的毫秒数。
Date.parse(dateString)返回自 1970-1-1 00:00:00 UTC 到给定日期字符串所表示时间的毫秒数。
等同于
new Date(dateString).getTime()。Date.UTC(year, month, date, hrs, min, sec, ms)返回从 1970-1-1 00:00:00 UTC 到指定日期的的毫秒数。