JS常用类:Number类、Date类、Math类、字符串、数组、正则

一、Number

1、常用数字

整数:10
小数:3.14
科学计数法:1e5 | 1e-5
正负无穷:Infinity | -Infinity

2、常用进制

二进制:0b1010  以0b开头
八进制:012 以0开头
十进制:10
十六进制:0xA 以0x开头

3、NaN

非数字类型,通过isNaN()进行判断

4、常用常量

最大值:MAX_VALUE(1.7976931348623157e+308)
最小值:MIN_VALUE(5e-324)
正负无穷:NEGATIVE_INFINITY | POSITIVE_INFINITY(Infinity | -Infinity)

5、常用实例方法

toExponential(n) => 3.14.toExponential(1) => 3.1e+0 (先科学记数,再确定精度,n为小数精度)
toFixed(n) => 3.14.toFixed(1) => 3.1 (先确定精度,再普通记数,n为小数精度)
toPrecision(n) => 13.14.toPrecision(1|2) => 1e+1|13 (先确定精度,再记数,n为位数精度)
toString(n) => 转换为指定进制的字符串,n代表进制
v-hint:经典bug数字13.145

二、时间

1、创建并获取时间

var date = new Date();

2、时间戳

date.getTime();

3、获取时间

年:date.getFullYear()
月:date.getMonth() + 1
日:date.getDate()
星期:date.getDay()
小时:date.getHours()
分钟:date.getMinutes()
秒:date.getSeconds()
毫秒:date.getMilliseconds()

4、常见格式时间

getUTCFullYear()
getUTCDate()
getUTCHours()

三、字符串

1、常用字符串

'string' | "string" | 'my name is "zero"' | "I'm boy" | "I \"love\" you"

2、常用属性

length:字符串长度

3、常用方法

charAt(n):指定索引字符,同[n]
concat(str):将目标字符串拼接到指定字符串之后
indexOf(str):指定字符串第一次出现的位置
lastIndexOf(str):指定字符串最一次出现的位置
replace(re, str):将正则匹配到的字符串替换为指定字符串
substr(n, m):从索引n开始,截取m个字符长度(m省略代表截取到最后)
substring(n, m):从索引n开始,截取到索引m(m省略代表截取到最后)
slice(n, m):同substring(n, m)
split(re):以指定正则将字符串拆分为数组
toUpperCase():转换为大写
toLowerCase():转换为小写
trim():去除首尾空白字符

四、数组

1、常见数组

[1, 2, 3] | ['1', '2', '3'] | [1, '2', true]

2、常用属性

length:数组元素个数

3、常用基础方法

concat(arr):将目标数组拼接到指定数组之后
indexOf(ele):指定元素第一次出现的位置
lastIndexOf(ele):指定元素最一次出现的位置
reverse():反转数组
includes(ele, n):从索引n开始往后,元素ele是否在数组中,做全等匹配,索引从头开始n可以省略(in只做值匹配)
fill(ele):以指定元素填充整个数组(一般用于清空数组中的数据,不操作长度)
slice(n, m):从索引n开始,截取到索引m(m省略代表截取到最后)
join(str):以指定字符连接成字符串

4、增删改方法

push(ele):从尾加
unshift(ele):从头加 pop():从尾删
shift():从头删 splice(begin, length, ...eles):完成增删改
// begin开始索引
// length长度
// 新元素们(可以省略)
arr=[1,2,3,4,5];
// 从头加
arr.splice(0, 0, 0); // 从索引0前方(包括索引0位置)开始操作,操作原数组0个长度,结果多了个元素0
console.log(arr);
// 0, 1, 2, 3, 4, 5 // 从尾加
arr.splice(arr.length, 0, 6); // 注意是length,不是length-1
console.log(arr);
// 0, 1, 2, 3, 4, 5, 6 // 从头删
arr.splice(0, 1) // 从索引0开始(包括索引0位置),操作原数组一位,替换的新值省略代表删除
console.log(arr);
// 1, 2, 3, 4, 5, 6 // 从尾删
arr.splice(arr.length - 1, 1) // 注意是length-1,不是length
console.log(arr);
// 1, 2, 3, 4, 5 // 替换
arr.splice(2, 1, "3", [0, 0], "3"); // 从索引2开始,用"3", [0, 0], "3"替换掉1位
console.log(arr);

5、回调函数方法

filter(function(value, index){ return true | false}):过滤器
every(function(value, index){ return 条件表达式; }):全部满足条件
some(function(value, index){ return 条件表达式; }):部分满足条件
reduce(function(prev,value,index){ return prev * value; }):累积
sort(function(o, n){ return o > n }):正逆向排序
	// 过滤器: filter

	// 回调函数
// 参数: 值, 索引, 所属数组
// 返回值: true | false // 过滤器返回值: 过滤后得到的新数组 // 过滤掉不满足条件的数据
// 合为满足条件的数据 // 过滤器回调函数的执行次数 = 被过滤数组的元素个数
// 需要回调的函数
var getResult = function (v, i) {
// return true;
if (v < 5) {
return true;
}
}
var newArr = arr.filter(getResult); console.log(arr);
console.log(newArr); // 全部满足: every // 回调函数
// 参数: 值, 索引, 所属数组
// 返回值: 值得条件表达式 // 过滤器返回值: true | false // true:所有元素都满足条件
// false:有一个不满足条件即可
var res = arr.every(function(v) {
return v > 3;
});
console.log(res); // 部分满足: some
res = arr.some(function(v) {
return v > 3;
});
console.log(res); // 累积: reduce arr = [4, 2, 1, 3, 5];
res = arr.reduce(function(prev,value,index){
return prev * value;
})
console.log(res); // 4*2*1*3*5 // 排序
newArr = arr.sort(function(o, n) {
// return o > n; // 升序, 没有回调函数
return o < n; // 降序
})
console.log(newArr);

五、Math

1、常用常量

E:返回算术常量 e,即自然对数的底数(约等于2.718)
LN2:返回 2 的自然对数(约等于0.693)
LN10:返回 10 的自然对数(约等于2.302)
LOG2E:返回以 2 为底的 e 的对数(约等于 1.4426950408889634)
LOG10E:返回以 10 为底的 e 的对数(约等于0.434)
PI:返回圆周率(约等于3.14159)

2、常用方法

abs(x):返回 x 的绝对值
ceil(x):向上取整
floor(x):向下取整
max(...n):求最大值
min(...n):求最小值
pow(x,y):返回 x 的 y 次幂
random():返回 0 ~ 1 之间的随机数
round(x):四舍五入
随机数公式: parseInt(Math.random() * (max - min + 1)) + min

六、正则

1、正则对象

// 方法一:构造函数
var re = new RegExp('^\\w', 'igm');
// 方法二:字面量,将热证表达式放在 // 之间
var re = /^\w/igm;

2、修饰符

i:不区分大小写
g:全文匹配
m:多行匹配

3、正则方法

test():匹配目标字符串,结果为 true|false
exec():匹配目标字符串,结果为第一条结果所有信息的数组

4、字符串方法

match(re):匹配指定正则,结果为数组(可全文匹配),如果没匹配到,返回null;否则返回一个数据的数组
search(re):匹配指定正则,结果为匹配的索引,反之-1
replace(re, newStr):匹配指定正则,替换匹配的结果(可全文匹配)
split(re, n):按正则进行拆分,n的值可以决定结果的数组长度(可选参数)
str = "abc123x9y8z7\n123";
re = /^\d/m;
arr = str.match(re);
console.log(arr);

前端(十四)—— JavaScript常用类:Number、Date类、字符串、数组、Math类、正则的更多相关文章

  1. C++反射机制:可变参数模板实现C++反射(使用C++11的新特性--可变模版参数,只根据类的名字(字符串)创建类的实例。在Nebula高性能网络框架中大量应用)

    1. 概要   本文描述一个通过C++可变参数模板实现C++反射机制的方法.该方法非常实用,在Nebula高性能网络框架中大量应用,实现了非常强大的动态加载动态创建功能.Nebula框架在码云的仓库地 ...

  2. JavaScript学习总结(十四)——JavaScript编写类的扩展方法

    在​J​a​v​a​S​c​r​i​p​t​中​可以使​用​类的p​r​o​t​o​t​y​p​e属性来​扩​展​类的属​性​和​方​法,在实际开发当中,当JavaScript内置的那些类所提供的动态 ...

  3. 常用类(Date,Calendar,Math,枚举)

    1.日期时间类 计算机时间戳是指距离历元(1970-01-01 00:00:00:000)的时间间隔(以毫秒ms为单位). 如:计算机时间2019-04-29 14:14:00是该时间距离历元经过的毫 ...

  4. [常用类]时间内Date、SimpleDateFormat、Calendar类

    Date类的概述是util包下的,不能导入sql包的.* 类 Date 表示特定的瞬间,精确到毫秒. *构造方法 * public Date() * public Date(long date) 如果 ...

  5. 日期时间类:Date,Calendar,计算类:Math

    日期时间类 计算机如何表示时间? 时间戳(timestamp):距离特定时间的时间间隔. 计算机时间戳是指距离历元(1970-01-01 00:00:00:000)的时间间隔(ms). 计算机中时间2 ...

  6. JAVA基础--常用类 String,StringBuffer, 基础数据类型包装类, Math类, Enum类

    字符串相关类: String, StringBuffer String类为不可变的字符序列 String s1="hello"; String s2="hello&quo ...

  7. MFC编程入门之二十四(常用控件:列表框控件ListBox)

    前面两节讲了比较常用的按钮控件,并通过按钮控件实例说明了具体用法.本文要讲的是列表框控件(ListBox)及其使用实例. 列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选 ...

  8. VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox)

    前面两节讲了比较常用的按钮控件,并通过按钮控件实例说明了具体用法.本文要讲的是列表框控件(ListBox)及其使用实例. 列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选 ...

  9. C++(十四) — 常用快捷键总结

      快捷键设置方法:https://blog.csdn.net/wrzfeijianshen/article/details/53230789 https://blog.csdn.net/wrzfei ...

  10. C++学习(十四)(C语言部分)之 数组

    上期回顾:三大循环 for while do while (循环体至少会执行一次)四大跳转 goto continue(提前跳出当前循环 进入下一个循环) break(跳出本次循环) return(跳 ...

随机推荐

  1. Mac-VScode

    1) 安装 xcode. 打开App Store,搜索xcode,进行下载安装. 2)执行命令: xcode-select --install 3)安装VS Code https://code.vis ...

  2. Angularjs可以查看scope的插件AngularJS Batarang

    AngularJS Batarang是一个显示AngularJS的scope 层次的Chrome插件,有效的快速查看一个page 中有多少Scope能够帮助我们快速方便调试AngularJS程序. 插 ...

  3. 33. 构建第一个job

    1.点击 New Item 2.Enter an item name 输入一个name,点击Freestyle project 3.我们可以输入一个描述,点击Advanced 4.勾选Use cust ...

  4. Python变量的下划线

    xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 __xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部 ...

  5. PAT甲级——A1141 PATRankingofInstitution

    After each PAT, the PAT Center will announce the ranking of institutions based on their students' pe ...

  6. mysql 内连接和外连接查询

    一.内连接查询 (笛卡儿积) 内联接查询inner join,mysql可以简写为join 二.外连接查询 左外联接查询left outer join,mysql可以简写为left join右外联接查 ...

  7. Visual Studio 2013创建并运行Cocos2d-x工程

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 1.准备: 我们得先把Visual Studio 2013安装好:可以去MSDN官网下载,在安装好 2.安装好vs之后,在cmd(终端)创 ...

  8. org-mode记录总结

    org-mode记录总结 */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #839496;} cod ...

  9. 第二十五天 慵懒的投射在JDBC上的暖阳 —Hibernate的使用(四)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zwszws/article/details/28493209            6月4日.晴天. ...

  10. bootstrap学习(五)代码

    内联代码: <code>public static</code>void main 用户输入: to edit setting,press <kbd><kbd ...