# 内置对象

内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的 API

JS 中提供了多个内置对象,如:Math,Date,Array,String 等

# 查询 MDN 文档

MDN Web Docs (mozilla.org)

# Math 对象

# 概述

Math 对象不是构造函数,它具有数学常数和函数的属性和方法,跟数学相关的运算,可以使用 Math 中的成员

# 常用方法

Math.PI                    // 圆周率
Math.floor()                // 向下取整
Math.ceil()                // 向上取整
Math.round()                // 四舍五入取整
Math.abs()                   // 绝对值
Math.max()                    // 最大值
Math.min()                    // 最小值

# 随机数方法 random

Math.random() 函数返回一个浮点数,伪随机数在范围从 0 到小于 1,也就是说,从 0(包括 0)往上,但是不包括 1(排除 1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置

function getRandomArbitrary(min, max) {
    return Math.random() * (max - min) + min;    //[min max] 之间的整数
}

# 日期对象

# Date 概述

  • Date 对象和 Math 对象不一样,他是一个构造函数,所以我们需要实例化之后才能使用
  • Date 实例用来处理日期和时间

# Date () 方法的使用

获取当前时间需要实例化

var now = new Date();
console.log(now);        // 输出当前时间

Date() 构造函数的参数,可以写成字符串 2019-5-1 ,可以写成 new Date('2019-5-1') 或者 new Date('2016/5/1')

# 日期格式化

方法名 说明 代码
getFullYear() 获取当年 dObj.getFullYear()
getMonth() 获取当月(0-11) dObj.getMonth() + 1
getDate() 获取当天日期 dObj.getDate()
getDay() 获取星期几(周日 0 到周六 6) dObj.getDay()
getHours() 获取当前小时 dObj.getHours()
getMinutes() 获取当前分钟 dObj.getMinutes()
getSeconds() 获取当前秒钟 dObj.getSeconds()

# 获取日期的总的毫秒形式

Date 对象式是基于 1970 年 1 月 1 日的毫秒数

var date = new Date();
console.log(date.valueOf());
console.log(date.getTime());
var time = +new Date();
console.log(time);
console.log(Date.now());

# 倒计时案例

function countDown(time) {
    var nowTime = +new Date();
    var inputTime = +new Date(time);
    var times = (inputTime - nowTime) / 1000;
    var d = parseInt(times / 60 / 60 / 24);
    var h = parseInt(times / 60 / 60 % 24);
    var m = parseInt(times / 60 % 60);
    var s = parseInt(times % 60);
    return d + '天' + h + '时' + m + '分' + s + '秒';
}
console.log(countDown('2022-10-5 10:10:00'));

# 数组对象

# 判断是不是数组

var arr = [];
console.log(arr instanceof Array);  //true
console.log(Array.isArray(arr));    //true

# 添加删除数组元素

方法名 说明 返回值
push(参数 1 ...) 末尾添加一个或者多个元素,改变原数组 返回新的长度
pop() 删除数组最后一个元素,数组长度减 1 返回删除的元素值
unshift(参数 1 ...) 向原数组的开头添加一个或更多元素 返回新的长度
shift() 删除数组的第一个元素,数组长度减 1 返回第一个元素的值

# 数组排序

方法名 说明 是否修改原数组
reverse() 使数组变为逆序 改变原数组,返回新数组
sort() 对数组进行排序 改变源数组,返回新数组
var arr = [1,5,9,2,4,8,11];
arr.sort(function(a,b){
    return a - b;           //a - b 升序  b - a 降序
});
console.log(arr);

# 数组索引方法

方法明 说明 返回值
indexOf() 数组中查到给定元素的第一个索引 存在返回索引值,不存在返回 - 1
lastIndexOf() 数组中的最后一个索引 存在返回索引值,不存在返回 - 1

# 数组转换为字符串

方法名 说明 返回值
toString() 把数组转换成字符串,逗号分隔每一项 返回一个字符串
join (' 分隔符 ') 方法用于把数组中的所有元素转换为一个字符串 返回一个字符串

# 重要方法

方法名 说明 返回值
concat() 连接两个或者多个数组,不影响源数组 返回一个新的数组
slice() 数组截取 slice (begin,end) 返回被截取项目的新数组
splice() 数组删除 splice (第几个开始,删除个数) 返回被删除项目的新数组,影响原数组

# 字符串对象

# 基本包装类型

为了方便操作基本数组类型,JS 提供了三个特殊的引用类型:String,Number,Boolean

基本包装类型就是把简单数据类型包装成复杂数据类型,这样基本数组类型就有了属性和方法

var str = 'andy';
console.log('str.length');
// 内部执行过程
var temp = new String('andy');
str = temp;
temp = null;

# 字符串不可变

指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中开辟了一个内存空间

# 根据字符返回位置

方法名 说明
indexOf (‘要查找的字符’,开始的位置) 返回指定内容在元字符中的位置,如果找不到就返回 - 1,开始的位置为 index 索引号
lastIndexOf() 从后往前找,只找第一个匹配的

# 根据位置返回字符

方法名 说明 使用
charAt(index) 返回指定位置的字符 (index) str.charAt(0)
charCode(index) 返回指定位置处字符的 ASCll 码 str.charCodeAt(index)
str[index] 获取指定位置处的字符 HTML5,IE8 + 支持

# 字符串操作方法(重点)

方法名 说明
concat(str1,str3,str3...) concat () 方法用于连接多个字符串,拼接字符串
substr(start,length) 从 start 位置开始 (索引号),length 取得个数,重点记
slice(start,end) 从 start 位置开始,截止到 end 位置,end 取不到
substring(start,end) 从 start 开始,截取到 end,end 取不到,不接收负值

# 替换字符串和转化数组

// 替换字符
var str = 'baozi';
console.log(str.replace('a','b'));    //bbozi
// 转换数组 逗号分隔
var str = 'red,pink,blue';
console.log(str.split(','));
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Baozi 微信支付

微信支付

Baozi 支付宝

支付宝

Baozi 微信

微信