分享

JavaScript学习笔记:内置API

 新进小设计 2021-09-22

本文更新于2020-11-30。

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

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

目录

全局对象以字典序进行排序。全局对象的属性先以此方式进行排序:静态属性(如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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多