javaScript相关方法

简介: prototype定义和用法prototype 是可用于所有 JavaScript 对象的全局构造函数。prototype 引用全局 Array() 对象。prototype 构造函数允许您向数组添加新的属性和方法。当构造新属性时,所有数组都将获得此属性及其值。当构造新方法时,所有数组都将获得此方法。

文章目录

Array数组方法


prototype

定义和用法

prototype 是可用于所有 JavaScript 对象的全局构造函数。


prototype 引用全局 Array() 对象。


prototype 构造函数允许您向数组添加新的属性和方法。


当构造新属性时,所有数组都将获得此属性及其值。


当构造新方法时,所有数组都将获得此方法。

语法:

Array.prototype.name = value


实例


Array.prototype.myUcase = function() {
  for (i = 0; i < this.length; i++) {
    this[i] = this[i].toUpperCase();
  }
};


各类方法

concat() 连接两个或多个数组,并返回已连接数组的副本。

copyWithin() 将数组中的数组元素复制到指定位置或从指定位置复制。

entries() 返回键/值对数组迭代对象。

every() 检查数组中的每个元素是否通过测试。

fill() 用静态值填充数组中的元素。

filter() 使用数组中通过测试的每个元素创建新数组。

find() 返回数组中第一个通过测试的元素的值。

findIndex() 返回数组中通过测试的第一个元素的索引。

forEach() 为每个数组元素调用函数。

from() 从对象创建数组。

includes() 检查数组是否包含指定的元素。

indexOf() 在数组中搜索元素并返回其位置。

isArray() 检查对象是否为数组。

join() 将数组的所有元素连接成一个字符串。

keys() 返回 Array Iteration 对象,包含原始数组的键.

lastIndexOf() 在数组中搜索元素,从末尾开始,并返回其位置。

map() 使用为每个数组元素调用函数的结果创建新数组。

pop() 删除数组的最后一个元素,并返回该元素。

push() 将新元素添加到数组的末尾,并返回新的长度。

reduce() 将数组的值减为单个值(从左到右)。

reduceRight() 将数组的值减为单个值(从右到左)。

reverse() 反转数组中元素的顺序。

shift() 删除数组的第一个元素,并返回该元素。

slice() 选择数组的一部分,并返回新数组。

some() 检查数组中的任何元素是否通过测试。

sort() 对数组的元素进行排序。

splice() 从数组中添加/删除元素。

toString() 将数组转换为字符串,并返回结果。

unshift() 将新元素添加到数组的开头,并返回新的长度。

valueOf() 返回数组的原始值。


join

定义和用法

join() 方法将数组作为字符串返回。


元素将由指定的分隔符分隔。默认分隔符是逗号 (,)。


注释:join() 方法不会改变原始数组。


语法

array.join(separator)


例子

将数组元素转换为字符串:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join();


map

定义和用法

map() 方法使用为每个数组元素调用函数的结果创建新数组。

map() 方法按顺序为数组中的每个元素调用一次提供的函数。

注释:map() 对没有值的数组元素不执行函数。
注释:map() 不会改变原始数组。

例子

返回原始数组中所有值的平方根的数组:

var numbers = [4, 9, 16, 25];
var x = numbers.map(Math.sqrt)
document.getElementById("demo").innerHTML = x;

pop

定义和用法

pop() 方法移除数组的最后一个元素,并返回该元素。

注释:pop() 方法会改变数组的长度。

提示:如需删除数组的第一个元素,请使用 shift() 方法。

例子

pop() 返回它删除的元素

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();   // Returns "Mango"


push

定义和用法

push() 方法向数组末尾添加新项目,并返回新长度


提示:新的项目将被添加到数组的末尾。


注释:push() 方法会改变数组的长度。


提示:如需在数组的开头添加项目,请使用 unshift() 方法。

例子1

添加多个项目:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi", "Lemon", "Pineapple");


例子2

push() 返回新的长度:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");   // 返回 5


reduce

定义和用法

reduce() 方法将数组缩减为单个值


reduce() 方法为数组的每个值(从左到右)执行提供的函数。


函数的返回值存储在累加器中(结果/总计)。


注释:对没有值的数组元素,不执行 reduce() 方法。


注释:reduce() 方法不会改变原始数组。

例1

从头开始减去数组中的数字:
var numbers = [175, 50, 25];
document.getElementById("demo").innerHTML = numbers.reduce(myFunc);
function myFunc(total, num) {
  return total - num;
}


reverse

reverse() 方法反转数组中元素的顺序。


注释:reverse() 方法将改变原始数组。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();


sort

定义和用法

sort() 方法对数组的项目进行排序。


排序顺序可以是按字母或数字,也可以是升序(向上)或降序(向下)。


默认情况下,sort() 方法将按字母和升序将值作为字符串进行排序。


这适用于字符串(“Apple” 出现在 “Banana” 之前)。但是,如果数字按字符串排序,则 “25” 大于 “100” ,因为 “2” 大于 “1”。


正因为如此,sort() 方法在对数字进行排序时会产生不正确的结果。


您可以通过提供“比较函数”来解决此问题(请参阅下面的“参数值”)。


注释:sort() 方法会改变原始数组。

例1

排序数组:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

splice

定义和用法

splice() 方法向/从数组添加/删除项目,并返回删除的项目。


注释:splice() 方法会改变原始数组。

将项目添加到数组:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");
在位置 2,添加新项目,并删除 1 个项目:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 1, "Lemon", "Kiwi");


Date时间类


方法总结

getDate() 返回月中的第几天(从 1 到 31)。

getDay() 返回星期几(0-6)。

getFullYear() 返回年份。

getHours() 返回小时(从 0-23)。

getMilliseconds() 返回毫秒(0-999)。

getMinutes() 返回分钟(从 0-59)。

getMonth() 返回月份(从 0-11)。

getSeconds() 返回秒数(从 0-59)。

getTime() 返回自 1970 年 1 月 1 日午夜以来与指定日期的毫秒数。

getTimezoneOffset() 返回 UTC 时间与本地时间之间的时差,以分钟为单位。

getUTCDate() 根据世界时,返回月份中的第几天(从 1 到 31)。

getUTCDay() 根据世界时,返回星期几(0-6)。

getUTCFullYear() 根据世界时,返回年份。

getUTCHours() 根据世界时,返回小时(0-23)。

getUTCMilliseconds() 根据世界时,返回毫秒数(0-999)。

getUTCMinutes() 根据世界时,返回分钟(0-59)。

getUTCMonth() 根据世界时,返回月份(0-11)。

getUTCSeconds() 根据世界时,返回秒数(0-59)。

getYear() 已弃用。请改用 getFullYear() 方法。

now() 返回自 1970 年 1 月 1 日午夜以来的毫秒数。

parse() 解析日期字符串并返回自 1970 年 1 月 1 日以来的毫秒数。

setDate() 设置 Date 对象中月的某一天。

setFullYear() 设置日期对象的年份

setHours() 设置日期对象的小时。

setMilliseconds() 设置日期对象的毫秒数。

setMinutes() 设置日期对象的分钟数。

setMonth() 设置日期对象的月份。

setSeconds() 设置日期对象的秒数。

setTime() 将日期设置为 1970 年 1 月 1 日之后/之前的指定毫秒数。

setUTCDate() 根据世界时,设置 Date 对象中月份的一天。

setUTCFullYear() 根据世界时,设置日期对象的年份。

setUTCHours() 根据世界时,设置日期对象的小时。

setUTCMilliseconds() 根据世界时,设置日期对象的毫秒数。

setUTCMinutes() 根据世界时,设置日期对象的分钟数。

setUTCMonth() 根据世界时,设置日期对象的月份。

setUTCSeconds() 根据世界时,设置日期对象的秒数。

setYear() 已弃用。请改用 setFullYear() 方法。

toDateString() 将 Date 对象的日期部分转换为可读字符串。

toGMTString() 已弃用。请改用 toUTCString() 方法。

toISOString() 使用 ISO 标准将日期作为字符串返回。

toJSON() 以字符串形式返回日期,格式为 JSON 日期。

toLocaleDateString() 使用区域设置约定将 Date 对象的日期部分作为字符串返回。

toLocaleTimeString() 使用区域设置约定将 Date 对象的时间部分作为字符串返回。

toLocaleString() 使用区域设置约定将 Date 对象转换为字符串。

toString() 将 Date 对象转换为字符串。

toTimeString() 将 Date 对象的时间部分转换为字符串。

toUTCString() 根据世界时,将 Date 对象转换为字符串。

UTC() 根据 UTC 时间,返回自 1970 年 1 月 1 日午夜以来的日期中的毫秒数。

valueOf() 返回 Date 对象的原始值。


getDate

定义和用法

getDate() 方法返回指定日期在月中的第几天(从 1 到 31)。

返回一个月中的第几天:
var d = new Date();
var n = d.getDate();


parse

定义和用法

parse() 方法解析日期字符串,并返回日期字符串与 1970 年 1 月 1 日午夜之间的毫秒数。


说明

该方法是 Date 对象的静态方法。一般采用 Date.parse() 的形式来调用,而不是通过 dateobject.parse() 调用该方法。

返回 1970 年 1 月 1 日与 2012 年 3 月 21 日之间的毫秒数:
var d = Date.parse("March 21, 2012");


setDate

定义和用法

setDate() 方法将月份中的某一天设置为日期对象。

例子 1
设置月份中的日期:
var d = new Date();
d.setDate(15);


Math方法

Math 对象

Math 对象允许您执行数学任务。

Math 不是构造函数。Math 的所有属性/方法都可以通过使用 Math 作为对象来调用,而无需创建它:

var x = Math.PI;            // 返回 PI
var y = Math.sqrt(16);      // 返回 16 的平方根


Math方法总结

abs(x) 返回 x 的绝对值。

acos(x) 返回 x 的反余弦值,以弧度为单位。

acosh(x) 返回 x 的双曲反余弦值。

asin(x) 返回 x 的反正弦值,以弧度为单位。

asinh(x) 返回 x 的双曲反正弦值。

atan(x) 返回 x 的反正切值,返回的值是 -PI/2 到 PI/2 之间的弧度值。

atan2(y, x) 返回其参数商的反正切值。

atanh(x) 返回 x 的双曲反正切值。

cbrt(x) 返回 x 的三次方根。

ceil(x) 返回 x,向上舍入为最接近的整数。

clz32(x) 返回 x 的 32 位二进制表示中前导零的数量。

cos(x) 返回 x 的余弦值(x 以弧度为单位)。

cosh(x) 返回 x 的双曲余弦值。

exp(x) 返回 Ex 的值。

expm1(x) 返回 Ex 减去 1 的值。

floor(x) 返回 x,向下舍入为最接近的整数。

fround(x) 返回数的最接近的(32 位单精度)浮点表示。

log(x) 返回 x 的自然对数。

log10(x) 返回 x 的以 10 为底的对数。

log1p(x) 返回 1 + x 的自然对数。

log2(x) 返回 x 的以 2 为底的对数。

max(x, y, z, …, n) 返回值最高的数字。

min(x, y, z, …, n) 返回值最小的数字。

pow(x, y) 返回 x 的 y 次幂值。

random() 返回 0 到 1 之间的随机数。

round(x) 将 x 舍入为最接近的整数。

sign(x) 返回数的符号(检查它是正数、负数还是零)。

sin(x) 返回 x 的正弦值(x 以弧度为单位)。

sinh(x) 返回 x 的双曲正弦值。

sqrt(x) 返回 x 的平方根。

tan(x) 返回角度的正切值。

tanh(x) 返回数的双曲正切值。

trunc(x) 返回数字 (x) 的整数部分。


定义和用法

max() 方法返回具有最高值的数字。


提示:min() 方法返回具有最小值的数字。

返回值最大的数字:
Math.max(5, 10);


random

random() 方法返回从 0(含)到 1(不含)的随机数。


返回 0(含)和 1(不含)之间的随机数:
Math.random();


RegExp 正则表达式

RegExp 对象

正则表达式是一种字符模式。

该模式用于对文本进行模式匹配的“搜索和替换”功能。

在 JavaScript 中,RegExp 对象是一种拥有属性和方法的模式。


修饰符

方括号


元字符


量词


String


方法总结

charAt() 返回指定位置处的字符。

charCodeAt() 返回指定位置处字符编码。

codePointAt() 返回字符串中索引(位置)处的 Unicode 值。

concat() 返回两个或多个连接的字符串。

constructor 返回字符串的构造函数。

endsWith() 返回字符串是否以指定值结尾。

fromCharCode() 将 Unicode 值作为字符返回。

includes() 返回字符串是否包含指定值。

indexOf() 返回值在字符串中第一次出现的位置。

lastIndexOf() 返回值在字符串中最后一次出现的位置。

length 返回字符串中的字符数。

localeCompare() 使用基于本地的顺序来比较字符串。

match() 在字符串中搜索值或正则表达式,并返回匹配项。

prototype 允许您向对象添加属性和方法。

repeat() 返回拥有多个字符串副本的新字符串。

replace() 在字符串中搜索值或正则表达式,并返回替换值的字符串。

search() 检索字符串中与正则表达式匹配的子串。

slice() 提取字符串的一部分并返回新字符串。

split() 将字符串拆分为子字符串数组。

startsWith() 检查字符串是否以指定字符开头。

substr() 从字符串中抽取子串,该方法是 substring() 的变种。

substring() 从字符串中抽取子串。

toLocaleLowerCase() 使用主机的语言环境返回转换为小写字母的字符串。

toLocaleUpperCase() 使用主机的语言环境返回转换为大写字母的字符串。

toLowerCase() 返回转换为小写字母的字符串。

toString() 将字符串或字符串对象作为字符串返回。

toUpperCase() 返回转换为大写字母的字符串。

trim() 返回删除了空格的字符串。

trimEnd() 返回从末尾删除空格的字符串。

trimStart() 返回从开头删除空格的字符串。

valueOf() 返回字符串或字符串对象的原始值。


slice

定义和用法

slice() 方法提取字符串的一部分。


slice() 方法以新字符串的形式返回提取的部分,不会更改原始字符串。


start 和 end 参数规定要提取的字符串部分。


第一个位置是 0,第二个是 1,…


负数从字符串的末尾来选取。

裁切前 5 个位置:
let text = "Hello world!";
let result = text.slice(0, 5);

split

定义和用法

split() 方法将字符串拆分为子字符串数组。


split() 方法返回新数组,不会更改原始字符串。


如果 (" ") 用作分隔符,则字符串在单词之间进行拆分。

拆分单词:
let text = "How are you doing today?";
const myArray = text.split(" ");

目录
相关文章
|
1月前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
1月前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
2月前
|
缓存 监控 前端开发
JavaScript 实现大文件上传的方法
【10月更文挑战第17天】通过以上步骤和方法,我们可以实现较为可靠和高效的大文件上传功能。当然,具体的实现方式还需要根据实际的应用场景和服务器要求进行调整和优化。
|
28天前
|
监控 JavaScript Java
Node.js中内存泄漏的检测方法
检测内存泄漏需要综合运用多种方法,并结合实际的应用场景和代码特点进行分析。及时发现和解决内存泄漏问题,可以提高应用的稳定性和性能,避免潜在的风险和故障。同时,不断学习和掌握内存管理的知识,也是有效预防内存泄漏的重要途径。
122 52
|
1月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
1月前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
29天前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
42 5
|
1月前
|
JavaScript 前端开发
js中的bind,call,apply方法的区别以及用法
JavaScript中,`bind`、`call`和`apply`均可改变函数的`this`指向并传递参数。其中,`bind`返回一个新函数,不立即执行;`call`和`apply`则立即执行,且`apply`的参数以数组形式传递。三者在改变`this`指向及传参上功能相似,但在执行时机和参数传递方式上有所区别。
26 1
|
1月前
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
41 7
|
1月前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
下一篇
DataWorks