JS内置对象学习

学习JS的内置对象

JS内置对象

1 Math对象

Math.PI (圆周率)
Math.floor() (floor:地板 ,向下取整)
Math.ceil() (ceil:天花板,向上取整)
Math.round() 四舍五入取整,但是为.5时,会往大了取整
Math.abs() 取绝对值
Math.max() 取最大值
Math.min() 取最小值
Math.random() 取0<=x<1之间的随机值

console.log(Math.PI); // 一个属性 圆周率
console.log(Math.max(1, 99, 3)); // 99
console.log(Math.max(-1, -10)); // -1
console.log(Math.max(1, 99, 'pink老师')); // NaN
console.log(Math.max()); // -Infinity
 
// 1.绝对值方法
console.log(Math.abs(1)); // 1
console.log(Math.abs(-1)); // 1
console.log(Math.abs('-1')); // 隐式转换 会把字符串型 -1 转换为数字型console.log(Math.abs('pink')); // NaN 
 
// 2.三个取整方法
// (1) Math.floor()   地板 向下取整  往最小了取值
console.log(Math.floor(1.1)); // 1
console.log(Math.floor(1.9)); // 1
 
// (2) Math.ceil()   ceil 天花板 向上取整  往最大了取值
 console.log(Math.ceil(1.1)); // 2
 console.log(Math.ceil(1.9)); // 2
 
// (3) Math.round()   四舍五入  其他数字都是四舍五入,但是 .5 特殊 它往大了取  
console.log(Math.round(1.1)); // 1
console.log(Math.round(1.5)); // 2
console.log(Math.round(1.9)); // 2
console.log(Math.round(-1.1)); // -1
console.log(Math.round(-1.5)); // 这个结果是 -1
(4) Math.random()   生成随机数
 function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
 console.log(getRandom(2, 10));
 
//应用
var arr = ['张三', '张三丰', '张三疯子', '李四', '李思思', 'pink老师'];
 console.log(arr[0]);
 console.log(arr[getRandom(0, arr.length - 1)]);

Date对象

//Date() 日期对象 是一个构造函数 所以必须使用new来调用创建我们的日期对象
let arr = new Array();
let obj = new Object();
// 1 使用Date 如果没有参数 会返回当前系统的当前时间
let date = new Date();
console.log(date) //2022-07-20T03:19:25.930Z
//2 使用参数的常用写法  数字型  2022,7,20   或者是 字符串型 '2011-1-1 8:8:8'
let date1 = new Date(2022,7,20);
console.log(date1);  //2022-08-19T16:00:00.000Z
let date2 = new Date('2011-1-1 8:8:8');
console.log(date2);  //2011-01-01T00:08:08.000Z

格式化日期年月日,月份需要加1

let date = new Date();
console.log(date.getFullYear());//2022  返回当前的年份
console.log(date.getMonth()+1); //7 返回的月份比实际的要小1 所以月份要加1
console.log(date.getDate()); //20 返回当前是几号
console.log(date.getDay()); //3 返回当前是星期几 周一返回的是 1 周六返回的是 6 但是 周日返回的是 0
var year = date.getFullYear();
var month = date.getMonth() + 1;
var dates = date.getDate();
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
var day = date.getDay();
console.log('今天是:' + year + '年' + month + '月' + dates + '日 ' + arr[day]);
//今天是:2022年7月20日 星期三

格式化日期 时分秒

let date = new Date();
console.log(typeof date.getHours());   //时
console.log(date.getMinutes()); //分
console.log(date.getSeconds()); //秒
//封装一个函数返回当前的时分秒 格式 08:08:08
function getTimer(){
    let time = new Date();
    let h = time.getHours();
    h = h<10 ? '0'+h : h;
    let m = time.getMinutes();
    m = m<10 ? '0'+ m : m;
    let s = time.getSeconds();
    s = s<10 ? '0'+ s : s;
    return h+':'+m+':'+s;
}
console.log(getTimer()); //11:49:10

时间戳

// 获得Date总的毫秒数(时间戳)  不是当前时间的毫秒数 而是距离1970年1月1号过了多少毫秒数
let date = new Date();
// 1. 通过 valueOf()  getTime()
console.log(date.getTime()) //1658289126609 就是我们现在时间 距离1970.1.1 总的毫秒数
console.log(date.valueOf()) //1658289126609 就是我们现在时间 距离1970.1.1 总的毫秒数

//2 简单写法
let date2 = +new Date(); //1658289280328 返回总的毫秒数
console.log(date2);
// 3. H5 新增的 获得总的毫秒数
console.log(Date.now()); //1658289351558

倒计时

//倒计时
//1 核心代码:输入的时间减去现在的时间就是剩余的时间,即倒计时,但是不能拿着时分秒相减,比如05分减去25分,结果会是负数。
//2 用时间戳来做。用户输入时间总得毫秒数减去现在时间的总的毫秒数,得到的就是剩余时间的毫秒数。
//3 把剩余时间总的毫秒数转换为天、时、分、秒(时间戳转换为时分秒)
//转换公式如下:
// d = parseInt(总秒数/60/60/24);  //计算天数
// h = parseInt(总秒数/60/60%24);  //计算小时
// m = parseInt(总秒数/60%60);     //计算分数
//  s = parseInt(总秒数%60);            //   计算当前秒数
function countDown(time){
    let nowTime = +new Date();
    let inputTime = +new Date(time); //返回用户输入的时间的总毫秒数
    let times = (inputTime-nowTime)/1000; //将剩余的毫秒转换为秒
    let d = parseInt(times/60/60/24);
    d = d<10 ? '0'+d : d;
    let h = parseInt(times/60/60%24);
    h = h<10 ? '0'+h : h;
    let m = parseInt(times/60%60);
    m = m<10 ? '0'+m : m;
    let s = parseInt(times%60);
    s = s<10 ? '0'+s : s;
    return d+'天'+h+'时'+m+'分'+'秒';
    

}
console.log(countDown('2022-7-20 17:00:00')); //00天00时21分秒

Array对象

常用的数组方法:

Array.from()
从一个类数组或可迭代对象创建一个新的数组
Array.isArray()
用于确定传递的值是否是一个数组
Array.prototype.concat()
用于合并两个或多个数组,此方法不会更改现有数组,而是返回一个新数组
Array.prototype.every()
测试一个数组内的所有元素是否都能通过某个指定函数的测试,它返回一个布尔值。
Array.prototype.fill()
用一个固定值填充一个数组中从起始索引到终止索引内的全部元素,不包括终止索引。
Array.prototype.filter()
创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
Array.prototype.find()
返回数组中满足提供的测试函数的第一个元素的值,否则返回undefined。
Array.prototype.flat()
会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
Array.prototype.forEach()
对数组的每个元素执行一次给定的函数。
Array.prototype.includes()
用来判断一个数组是否包含一个指定的值,如果包含则返回true,否则返回false。
Array.prototype.indexOf()
返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
Array.prototype.join()
将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
Array.prototype.keys()
返回一个包含数组中每个索引键的Array Iterator对象。
Array.prototype.pop()
从数组中删除最后一个元素,并返回该元素的值,当数组为空时返回undefined,此方法更改数组的长度。
Array.prototype.push()
将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
Array.prototype.reduce()
对数组中的每个元素执行一个由指定的reducer函数(升序执行),将其结果汇总为单个返回值。
Array.prototype.reverse()
将数组中元素的位置颠倒,并返回该数组,该方法会改变原数组。
Array.prototype.shift()
从数组中删除第一个元素,并返回该元素的值,该方法会改变原数组。
Array.prototype.slice()
返回一个新的数组对象,这一对象是一个由begin和end决定的原数组的浅拷贝,包括begin,不包括end,原始数组不会被改变。
Array.prototype.some()
测试数组中是不是至少有1个元素通过了被提供的函数测试,它返回的是一个Boolean类型的值。
Array.prototype.sort()
用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的。
Array.prototype.splice()
通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
Array.prototype.toString()
返回一个字符串,表示指定的数组及其元素。
Array.prototype.unshift()
将一个或多个元素添加到数组的开头,并返回该数组的新长度,该方法修改原有数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值