JavaScript学习笔记:内置API

本文更新于2020-11-30。

说明:下文中,大写为自定义变量(个别大写的类型除外),根据实际情况填写。使用<>引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前内容。

本文只说明简要的使用,更详细的使用可参阅MDN文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects

目录
  • arguments

    • arguments.callee
    • arguments.length
  • Array
    • ARRAY.length
    • Array.prototype.concat
    • Array.prototype.every
    • Array.prototype.filter
    • Array.prototype.forEach
    • Array.prototype.indexOf
    • Array.prototype.join
    • Array.prototype.lastIndexOf
    • Array.prototype.map
    • Array.prototype.pop
    • Array.prototype.push
    • Array.prototype.reduce
    • Array.prototype.reduceRight
    • Array.prototype.reverse
    • Array.prototype.shift
    • Array.prototype.slice
    • Array.prototype.some
    • Array.prototype.sort
    • Array.prototype.splice
    • Array.prototype.toLocaleString
    • Array.prototype.toString
    • Array.prototype.unshift
  • Boolean
    • Boolean.prototype.toString
    • Boolean.prototype.valueOf
  • Date
    • Date.now
    • Date.parse
    • Date.UTC
    • Date.prototype.getDate
    • Date.prototype.getDay
    • Date.prototype.getFullYear
    • Date.prototype.getHours
    • Date.prototype.getMilliseconds
    • Date.prototype.getMinutes
    • Date.prototype.getMonth
    • Date.prototype.getSeconds
    • Date.prototype.getTime
    • Date.prototype.getTimezoneOffset
    • Date.prototype.getUTCDate
    • Date.prototype.getUTCDay
    • Date.prototype.getUTCFullYear
    • Date.prototype.getUTCHours
    • Date.prototype.getUTCMilliseconds
    • Date.prototype.getUTCMinutes
    • Date.prototype.getUTCMonth
    • Date.prototype.getUTCSeconds
    • Date.prtotype.setDate
    • Date.prototype.setFullYear
    • Date.prototype.setHours
    • Date.prototype.setMilliseconds
    • Date.prototype.setMinutes
    • Date.prototype.setMonth
    • Date.prototype.setSeconds
    • Date.prototype.setTime
    • Date.prtotype.setUTCDate
    • Date.prototype.setUTCFullYear
    • Date.prototype.setUTCHours
    • Date.prototype.setUTCMilliseconds
    • Date.prototype.setUTCMinutes
    • Date.prototype.setUTCMonth
    • Date.prototype.setUTCSeconds
    • Date.prototype.toDateString
    • Date.prototype.toISOString
    • Date.prototype.toJSON
    • Date.prototype.toLocaleDateString
    • Date.prototype.toLocaleString
    • Date.prototype.toLocaleTimeString
    • Date.prototype.toString
    • Date.prototype.toTimeString
    • Date.prototype.toUTCString
    • Date.prototype.valueOf
  • decodeURI
  • decodeURIComponent
  • encodeURI
  • encodeURIComponent
  • Error
    • ERROR.message
    • ERROR.name
    • Error.prototype.toString
  • eval
  • EvalError
    • EVALERROR.message
    • EVALERROR.name
  • Function
    • FUNCTION.length
    • FUNCTION.prototype
    • Function.prototype.apply
    • Function.prototype.bind
    • Function.prototype.call
    • Function.prototype.toString
  • Infinity
  • isFinite
  • isNaN
  • JSON
    • JSON.parse
    • JSON.stringify
  • Math
    • Math.E
    • Math.LN10
    • Math.LN2
    • Math.LOG10E
    • Math.LOG2E
    • Math.PI
    • Math.SQRT1_2
    • Math.SQRT2
    • Math.abs
    • Math.acos
    • Math.asin
    • Math.atan
    • Math.atan2
    • Math.ceil
    • Math.cos
    • Math.exp
    • Math.floor
    • Math.log
    • Math.max
    • Math.min
    • Math.pow
    • Math.random
    • Math.round
    • Math.sin
    • Math.sqrt
    • Math.tan
  • NaN
  • Number
    • Number.MAX_VALUE
    • Number.MIN_VALUE
    • Number.NaN
    • Number.NEGATIVE_INFINITY
    • Number.POSITIVE_INFINITY
    • Number.prototype.toExponential
    • Number.prototype.toFixed
    • Number.prototype.toLocaleString
    • Number.prototype.toPrecision
    • Number.prototype.toString
    • Number.prototype.valueOf
  • Object
    • OBJECT.constructor
    • Object.create
    • Object.defineProperties
    • Object.defineProperty
    • Object.freeze
    • Object.getOwnPropertyDescriptor
    • Object.getOwnPropertyNames
    • Object.getPrototypeOf
    • Object.isExtensible
    • Object.isFrozen
    • Object.isSealed
    • Object.keys
    • Object.preventExtensions
    • Object.seal
    • Object.prototype.hasOwnProperty
    • Object.prototype.isPrototypeOf
    • Object.prototype.propertyIsEnumerable
    • Object.prototype.toLocaleString
    • Object.prototype.toString
    • Object.prototype.valueOf
  • parseFloat
  • parseInt
  • RangeError
    • RANGEERROR.message
    • RANGEERROR.name
  • ReferenceError
    • REFERENCEERROR.message
    • REFERENCEERROR.name
  • RegExp
    • REGEXP.global
    • REGEXP.ignoreCase
    • REGEXP.lastIndex
    • REGEXP.multiline
    • REGEXP.source
    • RegExp.prototype.exec
    • RegExp.prototype.test
    • RegExp.prototype.toString
  • String
    • STRING.length
    • String.fromCharCode
    • String.prototype.charAt
    • String.prototype.charCodeAt
    • String.prototype.concat
    • String.prototype.indexOf
    • String.prototype.lastIndexOf
    • String.prototype.localeCompare
    • String.prototype.match
    • String.prototype.replace
    • String.prototype.search
    • String.prototype.slice
    • String.prototype.split
    • String.prototype.substring
    • String.prototype.toLocaleLowerCase
    • String.prototype.toLocaleUpperCase
    • String.prototype.toLowerCase
    • String.prototype.toString
    • String.prototype.toUpperCase
    • String.prototype.trim
    • String.prototype.valueOf
  • SyntaxError
    • SYNTAXERROR.message
    • SYNTAXERROR.name
  • TypeError
    • TypeError.message
    • TypeError.name
  • undefined
  • URIError
    • URIError.message
    • URIError.name

全局对象以字典序进行排序。全局对象的属性先以此方式进行排序:静态属性(如Number.MAX_VALUE)、实例属性(如ARRAY.length)、静态方法(如Date.now)、prototype方法(如Array.prototype.concat);同一类别属性再以字典序进行排序。

本文阐述的API标准为:ECMAScript 5。

以下接口已弃用:

  • escape
  • unescape

arguments

arguments所在函数的实参,为类数组对象,只定义在函数体内。

arguments.callee

arguments所在的函数。

arguments.length

arguments所在函数的实参个数。

Array

数组类型。

var ARRAY = new Array();
var ARRAY = new Array(LENGTH);
var ARRAY = new Array(ELEMENT <, ...>);

ARRAY.length

数组元素个数。可写属性。

Array.prototype.concat

拼接数组。

var NEW_ARRAY = ARRAY.concat(ELEMENT <, ...>);

Array.prototype.every

判断是否所有元素都满足断言。

var OK = ARRAY.every(
function(ELEMENT, I, ARRAY) {
return true;
}
<, THIS>
);

THIS为调用断言函数时this的指向,下同。

Array.prototype.filter

使用通过断言的元素生产新数组。

var NEW_ARRAY = ARRAY.filter(
function(ELEMENT, I, ARRAY) {
return true;
}
<, THIS>
);

Array.prototype.forEach

为每个元素调用一个函数。

ARRAY.forEach(
function(ELEMENT, I, ARRAY) {
}
<, THIS>
);

Array.prototype.indexOf

正向查找元素。使用===判断相等,如不存在,则返回-1。

var INDEX = ARRAY.indexOf(VALUE <, START_INDEX>);

Array.prototype.join

将数组拼接为字符串。

var STR = ARRAY.join(<SEPARATOR>);

SEPARATOR缺省为","。

Array.prototype.lastIndexOf

反向查找元素。使用===判断相等,如不存在,则返回-1。

var INDEX = ARRAY.lastIndexOf(VALUE, <, START_INDEX>);

Array.prototype.map

计算出新数组。

var NEW_ARRAY = ARRAY.map({
function(ELEMENT, I, ARRAY) {
return VALUE;
}
<, THIS>
});

Array.prototype.pop

移除并返回最后一个元素。

var ELEMENT = ARRAY.pop();

Array.prototype.push

向数组尾部追加元素。

var LENGTH = ARRAY.PUSH(ELEMENT <, ...>);

Array.prototype.reduce

从数组正向计算出一个值。

var VALUE = ARRAY.reduce(
function(RESULT1, ELEMENT, I, ARRAY) {
return RESULT2;
}
<, INITIAL>
);

如指定INITIAL,则函数参数第一次调用时传入INITIAL和数组第一个元素;否则,函数参数第一次调用时传入第一和第二个元素。

Array.prototype.reduceRight

从数组反向计算出一个值。

var VALUE = ARRAY.reduceRight(
function(RESULT1, ELEMENT, I, ARRAY) {
return RESULT2;
}
<, INITIAL>
);

如指定INITIAL,则函数参数第一次调用时传入INITIAL和数组最后一个元素;否则,函数参数第一次调用时传入最后一个和倒数第二个元素。

Array.prototype.reverse

颠倒数组元素。

ARRAY.reverse();

Array.prototype.shift

移除并返回第一个元素。

var ELEMENT = ARRAY.shift();

Array.prototype.slice

使用数组的一部分生成新数组。

var NEW_ARRAY = ARRAY.slice(<START_INDEX <, END_INDEX>>);

新数组对应ARRAY的区间为[START_INDEX, END_INDEX)。START_INDEX和END_INDEX均可为负数,表示从尾部数起,-1为最后一个元素。

Array.prototype.some

判断是否有元素满足断言。

var OK = ARRAY.some(
function(ELEMENT, I, ARRAY) {
return true;
}
<, THIS>
);

Array.prototype.sort

对数组进行排序。

var ARRAY = ARRAY.sort(
<function(ELEMENT1, ELEMENT2) {
return INT;
}>
);

如不使用函数参数,则将数组元素转换成字符串后的值按字典序进行排序。如函数参数返回值小于0,表示ELEMENT1<ELEMENT2;等于0,表示ELEMENT1==ELEMENT2;大于0,表示ELEMENT1>ELEMENT2。

Array.prototype.splice

可用于插入、删除或替换数组元素。

var DELETE_ARRAY = ARRAY.splice(
START_INDEX,
DELETE_COUNT
<, ELEMENT <, ...>>
);

先删除START_INDEX(含)起的DELETE_COUNT个元素,再在START_INDEX处插入指定的元素,并返回被删除的元素数组。

Array.prototype.toLocaleString

转换成本地化字符串。

var STR = ARRAY.toLocaleString();

Array.prototype.toString

转换成字符串。

var STR = ARRAY.toString();

返回值与ARRAY.join()一样。

Array.prototype.unshift

往数组头部添加元素。

var LENGTH = ARRAY.unshift(ELEMENT <, ...>);

Boolean

布尔类型。

var BOOLEAN = new Boolean(VALUE);
var BOOLEAN = Boolean(VALUE);

Boolean.prototype.toString

转换成字符串。

var STR = BOOLEAN.toString();

返回"true"或"false"。

Boolean.prototype.valueOf

返回原始布尔值。

var BOOL = BOOLEAN.valueOf();

Date

日期时间类型。

var DATE = new Date(MILLISECONDS);
var DATE = new Date();
var DATE = new Date(STR);
var DATE = new Date(YEAR, MONTH <, DATE_IN_MONTH <, HOUR <, MINUTE <, SECOND <, MILLISECOND>>>>>);
var STR = Date();

当传入MILLISECONDS时,为UTC时间从1970年1月1日零点经过指定毫秒数后对应的本地时间。其他调用,均为参数指定的本地时间。

STR最完整的格式为:2006-01-02T15:04:05.000Z。

MONTH为0至11,DATEINMONTH为1至31,HOUR为0至23,MINUTE为0至59,SECOND为0至59,MILLISECOND为0至999。

以下接口已弃用:

  • Date.prototype.getYear
  • Date.prototype.setYear
  • Date.prototype.toGMTString

Date.now

返回UTC从1970年1月1日零点到现在UTC时间经过的毫秒数。

var MILLISECONDS = Date.now();

Date.parse

从字符串解析日期时间。

var DATE = Date.parse(STR);

STRING最完整的格式为:2006-01-02T15:04:05.000Z。

Date.UTC

返回参数指定的UTC时间从1970年1月1日零点到现在UTC时间经过的毫秒数。

var MILLISECONDS = Date.UTC(YEAR, MONTH <, DATE_IN_MONTH <, HOUR <, MINUTE <, SECOND <, MILLISECOND>>>>>)

Date.prototype.getDate

返回本地时间的日。

var DATE_IN_MONTH = DATE.getDate();

Date.prototype.getDay

返回本地时间的星期。

var DAY = DATE.getDay();

返回值为0(周日)至6(周六)。

Date.prototype.getFullYear

返回本地时间的年。

var YEAR = DATE.getFullYear();

Date.prototype.getHours

返回本地时间的时。

var HOUR = DATE.getHours();

Date.prototype.getMilliseconds

返回本地时间的毫秒。

VAR MILLISECOND = DATE.getMilliseconds();

Date.prototype.getMinutes

返回本地时间的分。

var MINUTE = DATE.getMinutes();

Date.prototype.getMonth

返回本地时间的月。

var MONTH = DATE.getMonth();

Date.prototype.getSeconds

返回本地时间的秒。

var SECOND = DATE.getSeconds();

Date.prototype.getTime

返回对应的UTC时间从UTC时间1970年1月1日零点经过的毫秒数。

var MILLISECONDS = DATE.getTime();

Date.prototype.getTimezoneOffset

返回本地时区与UTC时区的时差,以分钟表示。

var MINUTES = DATE.getTimezoneOffset();

Date.prototype.getUTCDate

返回UTC时间的日。

var DATE_IN_MONTH = DATE.getUTCDate();

Date.prototype.getUTCDay

返回UTC时间的星期。

var DAY = DATE.getUTCDay();

返回值为0(周日)至6(周六)。

Date.prototype.getUTCFullYear

返回UTC时间的年。

var YEAR = DATE.getUTCFullYear();

Date.prototype.getUTCHours

返回UTC时间的时。

var HOUR = DATE.getUTCHours();

Date.prototype.getUTCMilliseconds

返回UTC时间的毫秒。

VAR MILLISECOND = DATE.getUTCMilliseconds();

Date.prototype.getUTCMinutes

返回UTC时间的分。

var MINUTE = DATE.getUTCMinutes();

Date.prototype.getUTCMonth

返回UTC时间的月。

var MONTH = DATE.getUTCMonth();

Date.prototype.getUTCSeconds

返回UTC时间的秒。

var SECOND = DATE.getUTCSeconds();

Date.prtotype.setDate

设置本地时间的日。

var MILLISECONDS = DATE.setDate(DATE_IN_MONTH);

返回设置后的UTC时间从UTC时间1970年1月1日零点经过的毫秒数。下同。

Date.prototype.setFullYear

设置本地时间的年、月、日。

var MILLISECONDS = DATE.setFullYear(YEAR <, MONTH <, DATE_IN_MONTH>>);

Date.prototype.setHours

设置本地时间的时、分、秒、毫秒。

var MILLISECONDS = DATE.setHours(HOUR <, MINUTE <, SECOND <, MILLISECOND>>>);

Date.prototype.setMilliseconds

设置本地时间的毫秒。

var MILLISECONDS = DATE.setMilliseconds(MILLISECOND);

Date.prototype.setMinutes

设置本地时间的分、秒、毫秒。

var MILLISECONDS = DATE.setMinutes(MINUTE <, SECOND <, MILLISECOND>>);

Date.prototype.setMonth

设置本地时间的月、日。

var MILLISECONDS = DATE.setMonth(MONTH <, DATE_IN_MONTH>);

Date.prototype.setSeconds

设置本地时间的秒、毫秒。

var MILLISECONDS = DATE.setSeconds(SECOND <, MILLISECOND>);

Date.prototype.setTime

设置时间为UTC时间从1970年1月1日零点经过指定的毫秒数。

var MILLISECONDS = DATE.setTime(MILLISECONDS);

Date.prtotype.setUTCDate

设置UTC时间的日。

var MILLISECONDS = DATE.setUTCDate(DATE_IN_MONTH);

返回设置后的UTC时间从UTC时间1970年1月1日零点经过的毫秒数。下同。

Date.prototype.setUTCFullYear

设置UTC时间的年、月、日。

var MILLISECONDS = DATE.setUTCFullYear(YEAR <, MONTH <, DATE_IN_MONTH>>);

Date.prototype.setUTCHours

设置UTC时间的时、分、秒、毫秒。

var MILLISECONDS = DATE.setUTCHours(HOUR <, MINUTE <, SECOND <, MILLISECOND>>>);

Date.prototype.setUTCMilliseconds

设置UTC时间的毫秒。

var MILLISECONDS = DATE.setUTCMilliseconds(MILLISECOND);

Date.prototype.setUTCMinutes

设置UTC时间的分、秒、毫秒。

var MILLISECONDS = DATE.setUTCMinutes(MINUTE <, SECOND <, MILLISECOND>>);

Date.prototype.setUTCMonth

设置UTC时间的月、日。

var MILLISECONDS = DATE.setUTCMonth(MONTH <, DATE_IN_MONTH>);

Date.prototype.setUTCSeconds

设置UTC时间的秒、毫秒。

var MILLISECONDS = DATE.setUTCSeconds(SECOND <, MILLISECOND>);

Date.prototype.toDateString

返回本地时间的日期字符串,与实现有关,如:Tue Jul 07 2020。

var STR = DATE.toDateString();

Date.prototype.toISOString

返回UTC时间的日期时间字符串,使用ISO-8601标准,如:2020-07-07T15:56:14.306Z。

var STR = DATE.toISOString();

Date.prototype.toJSON

返回UTC时间的日期时间字符串,使用ISO-8601标准,如:2020-07-07T15:56:14.306Z。

var STR = DATE.toJSON(<KEY>);

参数KEY会被忽略。

Date.prototype.toLocaleDateString

返回本地时间本地习惯的日期字符串,与实现有关,如:2020/7/7。

var STR = DATE.toLocaleDateString();

Date.prototype.toLocaleString

返回本地时间本地习惯的日期时间字符串,与实现有关,如:2020/7/7 下午11:56:14。

var STR = DATE.toLocaleString();

Date.prototype.toLocaleTimeString

返回本地时间本地习惯的时间字符串,与实现有关,如:下午11:56:14。

var STR = DATE.toLocaleTimeString();

Date.prototype.toString

返回本地时间的日期时间字符串,与实现有关,如:Tue Jul 07 2020 23:56:14 GMT+0800 (中国标准时间)。

var STR = DATE.toString();

Date.prototype.toTimeString

返回本地时间的时间字符串,与实现有关,如:23:56:14 GMT+0800 (中国标准时间)。

var STR = DATE.toTimeString();

Date.prototype.toUTCString

返回UTC时间的日期时间字符串,与实现有关,如:Tue, 07 Jul 2020 15:56:14 GMT。

var STR = DATE.toUTCString();

Date.prototype.valueOf

返回对应的UTC时间从UTC时间1970年1月1日零点经过的毫秒数。

var MILLISECONDS = DATE.valueOf();

decodeURI

解码URI,将%开头的16进制转义序列解码为其代表的字符。encodeURI的逆操作。

var URI_DECODED = decodeURI(URI);

decodeURIComponent

解码URI的组件,将%开头的16进制转义序列解码为其代表的字符。encodeURIComponent的逆操作。

var COMPONENT_DECODED = decodeURIComponent(COMPONENT);

encodeURI

编码URI。将字母、数字、-_.!~*'()和;/?

(0)

相关推荐