JS常用类

  1. Number
  2. 时间
  3. 字符串
  4. 数组
  5. Math
  6. 正则

一、Number

1、常用数字

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

2、常用进制

二进制:0b1010
八进制:012
十进制:10
十六进制:0xA

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) => 1.3e+1 (先科学记数,再确定精度,n为小数精度)
toFixed(n) => 3.14.toFixed(1) => 3.1 (先确定精度,再普通记数,n为小数精度)
toPrecision(n) => 13.14.toPrecision(1|2) => 1e+1|13 (先确定精度,再记数,n为位数进度)
toString() => 
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、常用方法

chartAt(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长度
新元素们(可以省略)

eg:
arr=[1,2,3,4,5];
从头加
    arr.splice(0, 0, 0);  // 从索引0前方开始操作,操作原数组0个长度,结果多了个元素0
    console.log(arr);
    // 0, 1, 2, 3, 4, 5

从尾加
    arr.splice(arr.length, 0, 6);
    console.log(arr);
    // 0, 1, 2, 3, 4, 5, 6

从头删
    arr.splice(0, 1) // 从索引0开始,操作原数组一位,替换的新值省略代表删除
    console.log(arr);
    // 1, 2, 3, 4, 5, 6

从尾删
    arr.splice(arr.length - 1, 1)
    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);
    // 1, 2, "3", [0, 0], "3", 4, 5


5、回调函数方法

  • filter(func) 过滤器
  • every (func) 判断是否全部满足条件
  • some(func) 判断是否部分满足条件
  • reduce 累计
  • sort 正逆向排序
filter(function(value, index){ return true | false}):过滤器
    返回值 : 满足functio的所有元素组成的新的数组
    eg:过滤出偶数
        var arr = [4,6,2,1,5,3];
        '回调函数(过滤的条件,返回值为 true | false)'
        var getres=function (value,index) {
        if (value % 2 ===0){
            return true;
            }
        };
        var newArr=arr.filter(getres);
        console.log(arr,newArr); //[4,6,2]
        

every(function(value, index){ return 条件表达式; }):全部满足条件
    返回值 : 
        全部满足条件返回 true ,否则返回false
    eg : 判断是否全为偶数
        var arr = [5,6,2,4,3,1];
        //回调函数
        var fn = function(value , index){
            if (value % 2 ===0){
                return true;
            }
        };
        res=arr.every(fn);
        console.log(res); // false


some(function(value, index){ return 条件表达式; }):部分满足条件
    返回值 : 
        只要有满足条件的返回 true ,否则返回false
    eg : 判断是否有偶数
        var arr = [5,6,2,4,3,1];
        //回调函数
        var fn = function(value , index){
            if (value % 2 ===0){
                return true;
            }
        };
        res=arr.every(fn);
        console.log(res); // true


reduce(function(prev,value,index){ return prev * value; }):累积
    返回数组的乘积
    eg: 
    var arr = [5,6,2,4,3,1];
    var fn = function (prev,value) {
        return prev*value;
    };
    res = arr.reduce(fn);
    console.log(res); //720


sort(function(o, n){ return o > n }):正逆向排序
    返回一个新的数组
    o > n 升序
    o < n 降序
    eg:
        var arr = [5,6,2,4,3,1];
        var fn = function (o,n) {
            return o>n;
        };
        newArr=arr.sort(fn);
        console.log(newArr); //[1,2,3,4,5,6]
        

五、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):四舍五入

3. 获取[min , max]范围内随机数的方法

    var getRandom=function(min,max){
        res = parseInt(Math.random()*(max-min+1)+min);
        return res;
    };

六、正则

1、正则对象

// 构造函数
var re = new RegExp('^\\w', 'igm');
// 字面量
var re = /^\w/igm;

2、修饰符

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

3、正则方法

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

4、字符串方法

match(re):匹配指定正则,结果为数组(可全文匹配)
search(re):匹配指定正则,结果为匹配的索引,反之-1
replace(re, newStr):匹配指定正则,替换匹配的结果(可全文匹配)
split(re, n):按正则进行拆分,n的值可以决定结果的数组长度(可选参数)

5. eg

var re = /^\w/;
    str ='ABCABC';
    re = /a/;  //  null
    re = /a/i; // ["A", index: 0, input: "ABCABC", groups: undefined] 不区分大小写
    re = /a/ig;  // ["A", "A"] 不区分大小写 匹配多次
    console.log(str.match(re));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,753评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,668评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,090评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,010评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,054评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,806评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,484评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,380评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,873评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,021评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,158评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,838评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,499评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,044评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,159评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,449评论 3 374
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,136评论 2 356

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,150评论 0 13
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,237评论 0 4
  • 我的表姐,是一所普通得不能再普通的专科学校毕业的会计,18岁专科毕业以后便来了厦门,待在父母身边,虽然姑父姑母都是...
    乐真阅读 577评论 3 1
  • 一开始关注公众号的时候很喜欢喝鸡汤,就是那些讲梦想啊讲成功的文章和视频。经常会举一些发家奋斗的例子给你,佐证一些道...
    MC佑SEN阅读 387评论 3 0
  • 你说西天是我最后的归途 我脱下五色战衣 褪下一身傲骨 你说少些执念就少些痛苦 我随你走春夏秋冬 等菩提满树 也许,...
    王二痞子阅读 777评论 18 12