JavaScript常用Api【String+Math+Number+Date+Array+Window+dom】

54 阅读8分钟

String

字符串的两种创建方式(常量和构造函数),常用api有:

  • charAt() 返回在指定位置的字符
  • indexOf() 检索字符串,返回下标
  • lastIndexOf() 从后向前搜索字符串。
  • charCodeAt() 返回在指定的位置的字符的 Unicode 编码。
  • fromCharCode() 从字符编码创建一个字符串。
  • concat() 连接字符串。
  • match() 找到一个或多个(正则表达式的)匹配。
  • replace() 替换与正则表达式匹配的子串。
  • search() 检索与正则表达式相匹配的值。
  • slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。
  • split() 把字符串分割为字符串数组。
  • substr() 从起始索引号提取字符串中指定数目的字符。
  • substring() 提取字符串中两个指定的索引号之间的字符。
  • toLowerCase() 把字符串转换为小写。
  • toUpperCase() 把字符串转换为大写。
  • trim() 去掉字符串前后空格(ES5)
  • startsWith() 字符串是否以某个字符开头(ES6)
  • endsWith() 字符串是否以某个字符结尾(ES6)
  • includes() 字符串是否包含某个字符(ES6)
  • repeat() 重复某个字符串几次(ES6)

Math

Math的常用属性有:

  • Math.E 返回算术常量 e,即自然对数的底数(约等于2.718)。
  • Math.LN2 返回 2 的自然对数(约等于0.693)。
  • Math.LN10 返回 10 的自然对数(约等于2.302)。
  • Math.LOG2E 返回以 2 为底的 e 的对数(约等于 1.414)。
  • Math.LOG10E 返回以 10 为底的 e 的对数(约等于0.434)。
  • Math.PI 返回圆周率(约等于3.14159)。
  • Math.SQRT1_2 返回返回 2 的平方根的倒数(约等于 0.707)。
  • SQRT1_2.SQRT2 返回 2 的平方根(约等于 1.414)。

常用api有:

  • abs(x) 返回数的绝对值。
  • sin(x) 返回数的正弦。
  • cos(x) 返回数的余弦。
  • tan(x) 返回角的正切。
  • ceil(x) 对数进行上舍入。
  • floor(x) 对数进行下舍入。
  • round(x) 把数四舍五入为最接近的整数。
  • max(x,y) 返回 x 和 y 中的最高值。
  • min(x,y) 返回 x 和 y 中的最低值。
  • pow(x,y) 返回 x 的 y 次幂。
  • sqrt(x) 返回数的算术平方根。
  • random() 返回 0 ~ 1 之间的随机小数,包含0不包含1

Number

常用api有:

  • toString():把数学转换为字符串,使用指定的基数
  • toLocaleString():把数字转换为字符串,使用本地数字格式顺序
  • toFixed():把数字转换为字符串,结果的小数点后有指定位数的数字
  • toPrecision():把数字格式化为指定的长度
  • valueOf():返回一个Number对象的基本数字值

Date

常用api有:

  • getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
  • getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
  • getMonth() 从 Date 对象返回月份 (0 ~ 11)。
  • getFullYear() 从 Date 对象以四位数字返回年份。
  • getYear() 请使用 getFullYear() 方法代替。
  • getHours() 返回 Date 对象的小时 (0 ~ 23)。
  • getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
  • getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
  • getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
  • getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
  • getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。
  • parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
  • setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
  • setMonth() 设置 Date 对象中月份 (0 ~ 11)。
  • setFullYear() 设置 Date 对象中的年份(四位数字)。
  • setYear() 请使用 setFullYear() 方法代替。
  • setHours() 设置 Date 对象中的小时 (0 ~ 23)。
  • setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
  • setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
  • setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
  • setTime() 以毫秒设置 Date 对象。

JS数组

常用方法

  • concat():连接两个或更多的数组,并返回结果。
  • join():把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
  • pop():删除并返回数组的最后一个元素
  • push():向数组的末尾添加一个或更多元素,并返回新的长度。
  • shift():删除并返回数组的第一个元素
  • unshift():向数组的开头添加一个或更多元素,并返回新的长度
  • reverse():颠倒数组中元素的顺序
  • slice():从某个已有的数组返回选定的元素
  • sort():对数组的元素进行排序
  • splice():删除元素,并向数组添加新元素
  • toString():把数组转换为字符串,并返回结果

ES5新增数组方法

  • indexOf():判断一个元素是否存在于数组中,若不存在返回-1,若存在就返回它第一次出现的位置
  • lastIndexOf():方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索
  • forEach():循环遍历数组中的每一个元素,这个函数包含三个形参,分别为:item, index, array, 用不到时可以不写
  • map():返回一个新数组,新数组是原数组的映射,不改变原数组,新数组的元素值是每次函数return的返回值,若不写return,接收的新数组的元素值将全为空
  • filter():过滤元素,返回一个新数组,新的数组由每次函数返回值为true对应的元素组成; 原数组不受影响
  • some():return返回的值只要有一项为true,最终的返回值就为true,不会继续遍历后边的元素,若没有一项满足返回值为true的,就返回false,原数组不受影响;
  • every():对数组的每一项执行给定的函数,假如该函数每一项都返回true,最后结果才为true;只要有一项返回值为false,最后结果就是false。且后边的元素都不会再继续执行函数;原数组不受影响
  • reduce():方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。reduce() 可以作为一个高阶函数,用于函数的 compose,reduce() 对于空数组是不会执行回调函数的
  • reduceRight():方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。对于空数组是不会执行回调函数的

ES6新增数组方法

  • find():传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它,并且终止搜索
  • findIndex():传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它的下标,并且终止搜索
  • fill():用新元素替换掉数组内的元素,可以指定替换下标范围。格式:arr.fill(value, start, end)
  • copyWithin():选择数组的某个下标,从该位置开始复制数组元素,默认从0开始复制。也可以指定要复制的元素范围。格式:arr.copyWithin(被替换的起始位置,选取替换值的起始位置,选取替换值的结束位置)
  • Array.from():将类似数组的对象(array-like object)和可遍历(iterable)的对象转为真正的数组
  • Array.of():用于将一组值,转换为数组
  • entries():返回迭代器:返回键值对
  • values():返回键值对的value
  • keys():返回键值对的key
  • includes():判断数组中是否存在该元素,参数:查找的值、起始位置,可以替换 ES5 时代的 indexOf 判断方式。indexOf 判断元素是否为 NaN,会判断错误。

获取DOM节点

  • document.getElementById(id名)
  • getElementsByTagName(标签名):得到的是一个集合(不止一个,是一堆)
  • getElementsByName( ) 通过Name值获取元素,返回值是集合,通常用来获取有name的input的值,不是所有的标签都有name值,低版本的浏览器会有兼容问题
  • getElementsByClassName(class名称):IE8以下不能用
  • document.querySelector () (ES5) 一旦匹配成功一个元素,就不往后匹配了
  • document.querySelectorAll () (ES5)强大到超乎想象;匹配到所有满足的元素, 支持IE8+

属性获取和操作

  • getAttribute( )获取元素的属性值
  • setAttribute( )设置元素的属性
  • removeAttribute( )删除属性

Window

window下的子对象

  • window.location.href 当前页面的 URL,可以获取,可以修改(页面跳转)。
  • window.location.hostname web 主机的域名
  • window.location.pathname 当前页面的路径和文件名
  • window.location.port web 主机的端口 (80 或 443)
  • window.location.protocol 所使用的 web 协议(http:// 或 https://)
  • window.location.search 请求参数(?后面的内容)
  • window.location.reload() 刷新页面的方法。
  • window.localStorage:允许将键/值对保存在Web浏览器中。存储没有到期日期的数据
  • window.sessionStorage:允许将键/值对保存在 Web 浏览器中。为会话存储数据

Window对象方法

  • alert():显示带有一段消息和一个确认按钮的警告框
  • blur():把键盘焦点从顶层窗口移开
  • clearInterval():取消由setInterval()设置的timeout
  • clearTimeout():取消由 setTimeout() 方法设置的 timeout
  • close():关闭浏览器窗口。
  • confirm():显示带有一段消息以及确认按钮和取消按钮的对话框
  • createPopup():创建一个 pop-up 窗口
  • focus():把键盘焦点给予一个窗口
  • moveBy():可相对窗口的当前坐标把它移动指定的像素
  • moveTo():把窗口的左上角移动到一个指定的坐标
  • open():打开一个新的浏览器窗口或查找一个已命名的窗口
  • print():打印当前窗口的内容
  • prompt():显示可提示用户输入的对话框
  • resizeBy():按照指定的像素调整窗口的大小
  • resizeTo():把窗口的大小调整到指定的宽度和高度
  • scrollBy():按照指定的像素值来滚动内容
  • scrollTo():把内容滚动到指定的坐标
  • setInterval():按照指定的周期(以毫秒计)来调用函数或计算表达式
  • setTimeout():在指定的毫秒数后调用函数或计算表达式

参考:最全JavaScript基础总结