JavaScript内置对象详解:Math、Date与Array常用方法

作者:异步漫步

时间:2026-10-25

浏览:152

本文系统梳理JavaScript核心内置对象,涵盖Math数学运算、Date日期处理及Array数组操作。详细解析随机数生成、日期格式化、数组增删改查等常用API,结合倒计时案例与字符串处理方法,帮助开发者掌握前端开发必备的基础知识。

文章目录

1、内置对象介绍

JavaScript主要由三部分组成:ECMAScript | DOM | BOM

ECMAScript: 涵盖变量、函数、数据类型、流程控制以及内置对象等核心概念。

在JS中,对象主要分为三类:自定义对象、内置对象以及浏览器对象(其中浏览器对象不属于ECMAScript规范)。

1.1 Math对象

该对象提供了一系列与数学计算相关的方法或属性,包括静态方法和实例方法。

1.2 Math中的方法

  • Math,PI  --- 获取圆周率
  • Math.random()  --- 返回大于等于0小于1之间的随机数

灵活使用:

a:求两个数之间的随机数,并包含这两个数:


Math.floor( Math.random() * (max - min + 1) + min );

例子:求 1 到 10之间的随机整数[包括1和10]


function getRondom(min, max) {
            return Math.floor(Math.random() * (max - min + 1) + min);
        }
        var i = getRondom(1,10);
        console.log(i);


b:当想要进行随机排序时,即可使用:

Math.random()- 0.5 精度利用这个弱点 会进行随机排序

例子:随机排序


var arr1 = ["鹿晗", "王俊凯", "蔡徐坤", "彭于晏", "周杰伦", "刘德华", "赵本山"];
        arr1.sort(function(){
            return Math.random() - 0.5;
        });
        console.log(arr1);
 

  • Math.floor()   --- 向下取整,返回一个小于当前数字的整数
  • Math.ceil() --- 向上取整,返回一个大于当前数字的整数
  • Math.round()   --- 四舍五入

特殊情况:


console.log(Math.round(-1.5))//结果为-1  

  • Math.abs()  --- 取绝对值(返回当前数字的绝对值,正整数)

console.log(Math.abs("1"));    //隐式转换  会把字符串1 转换成数字型
console.log(Math.abs("fanfan"));    //NaN

  • Math.max()   --- 返回一组数中的最大值 (可以设置多个参数,返回其中最大值,参数不可以是数组)

console.log(Math.max(1,4,8,35,"fanfan"));   //NaN
  console.log(Math.max());   //-Infinity 

  • Math.min()  --- 返回一组数中的最小值 (可以同时设置多个参数,与最大值效果一样)

console.log(Math.min());   //Infinity 

  • Math.sin(x)
  • Math.cos(x)   
  • Math.tan(x)
  • Math.pow(x,y)   --- 返回x的y次幂

1.3 Date对象

用法一:空构造函数


var d = new Date();   //如果没有参数 返回当前系统的当前时间

用法二:传入日期格式的字符串


 var  d = new Date("1988-8-8 8:8:8")

用法三: 传入数字


 var  d = new Date(year, month[day,time,second]);  //必须设置年和月 中括号内的为选填项

注意:月份从0开始,0代表1月


 var date1 = new Date(2019, 10, 01);  //实际是2019年11月1日

获取当前时间的毫秒值:(距离1970 年 1 月 1 日的毫秒数)

写法一:


d.valueOf()    

d.getTime()   // 推荐使用 

//获取当前的毫秒值
var date = new Date();
        console.log(date.valueOf());
        console.log(date.getTime());


写法二:(最常用)


 var date1 = +new Date();  // +new Date()  返回的就是总的毫秒数

写法三:


Date.now()   //H5 新方法 有兼容性

2、Date中的方法

  • var d = new Date();  --- 日期格式化方法
  • d.getSeconds()  //获取秒
  •     d.getMinutes()  //获取分钟
  •     d.getHours()   //获取小时
  •     d.getDay()   //没有参数时 返回当前周几 (0表示周日)0-6

获取星期几的方法:


var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
         var day = date.getDay();
         console.log(arr[day]);


  • d.getDate()   //没有参数时 返回当前日
  •    d.getMonth()    //没有参数时 返回当前月份 (从0开始)0-11
  •     d.getFullYear()  //没有参数时 返回当前年份
  • d.toString();  //转化成字符串
  •     d.toDateString();  //转换成日期字符串
  •   d.toTimeString();  //转换成时间字符串
  •     d.toLocaleDateString();   //返回本地的日期格式 (不同浏览器不同效果)
  •     d.toLocaleTimeString();  //返回本地的时间格式 (不同浏览器不同效果)

3、经典案例:倒计时效果:


function countTime(time) {
            var nowTime = +new Date();
            console.log(nowTime);
            var timer = +new Date(time);
            console.log(timer);
            var times = (timer - nowTime) / 1000;
            var d = parseInt(times / 60 / 60 / 24);
            d = d < 10 ? "0" + d : d;
            var h = parseInt(times / 60 / 60 % 24);
            h = h < 10 ? "0" + h : h;
            var m = parseInt(times / 60 % 60);
            m = m < 10 ? "0" + m : m;
            var s = parseInt(times % 60);
            s = s < 10 ? "0" + s : s;
            return d + "天" + h + "时" + m + "分" + s + "秒"
 
        }
        var i = countTime("2021-11-11 18:00:00");
        console.log(i);

4、Array数组对象

4.1 数组的创建

利用数组字面量:

var arr = [1,2,3];

利用new Array():

var arr1 = new Array(); //创建一个空的数组 var arr1 = new Array(2); //这个2 表示 数组的长度为 2 里面有2个空的数组元素

var arr1 = new Array(2,3); // 等价于 [2,3] 这样写表示 里面有2个数组元素 是 2和3

4.2 数组中的常用方法

判断变量是不是一个数组:

  • Array.isArray(ary)   //H5新增属性 ie9以上版本支持
  • 参数 instanceof Array

toString()  --- 把数组转换为字符串,使用逗号分隔

valueOf()   --- 返回数组对象本身

ary.pop() [常用] --- 删除数组中最后一个字,且会修改数组的长度 注意:()内不跟参数

ary.shift() --- 删除数组中的第一个元素,修改数组的长度 注意:()内不跟参数

ary.push() [常用] --- 该方法有一个返回值,表示数组最新的长度,该方法中可以设置多个参数 在数组末尾添加一个或者多个

ary.unshift() --- 在数组中最开始位置添加一个值

reverse()  --- 翻转数组

indexOf(content[,index])   --- 返回数组元素索引的方法 从前查找,它只返回第一个满足条件的索引号 lastIndexOf()  --- 从数组的末尾开始找,如果找到,返回索引位置,如果没有找到返回-1

 join(分隔符) --- 将数组中的每一个元素通过一个字符链接到一块(数组转字符串) 改变字符间的分隔符, 默认是","

排序:

arr.sort()  --- 按照个位数字排序 sort(function(){})


arr.sort(function(a,b){
    return a-b; //升序
})
arr.sort(function(a,b){
    return b-a; //降序
})


concat()  --- 把两个数组拼接到一块,返回一个新数组

 slice(startindex, endindex)   --- 从当前数组中截取一个新的数组 第一个参数表示开始索引位置,第二个参数代表结束索引位置

splice(startindex, deletCont, options) --- 删除或者替换数组中的某些值 第一个参数代表从哪开始删除 第二个参数代表一共删除几个 第三个参数代表要替换的值

5、字符串String

1、charAt(index) --- 获取指定位置处的字符

2、str[index] --- 获取指定位置的字符 (H5中的方法)

3、charCodeAt(index) --- 返回相应索引号的字符ASCII值 判断用户按下了哪个键

4、concat() --- 拼接字符串 等效于 +

5、slice(strat,end) --- 从指定位置开始,截取字符串到结束位置,end值取不

6、substring(start,end) --- 从指定位置开始,截取字符串到结束位置, end值取不到,start能取到

7、substr('截取的起始位置', '截取几个字符') //从指定位置开始,截取length长度个字符

8、indexOf(字符) --- 返回字符在字符串中的位置【首次】

9、lastIndexOf(字符) --- 从后往前找,只找第一个匹配的字符【尾次】

10、trim() --- 只能去除字符串前后空白

11、toLocaleUpperCase() //转化为大写 toLocaleLowerCase() //转化为小写

12、replace(a,b) --- 用b替换a split() --- 以一个分割符,将一个字符串串分割成一个数组(字符串转数组)

到此这篇关于Javascript基础知识中关于内置对象的知识的文章就介绍到这了,更多相关Javascript内置对象介绍内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章