内置对象

  • JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对
  • 前面两种对象是JS 基础 内容,属于 ECMAScript; 第三个浏览器对象属于我们JS 独有的, 我们JS API 讲解
  • 内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)
  • 内置对象最大的优点就是帮助我们快速开发
  • JavaScript 提供了多个内置对象:Math、 Date 、Array、String等

查文档

MDN

学习一个内置对象的使用,只要学会其常用成员的使用即可,我们可以通过查文档学习,可以通过MDN/W3C 来查询。

Mozilla 开发者网络(MDN)提供了有关开放网络技术(Open Web)的信息,包括 HTML、CSS 和万维网及 HTML5 应用的 API。

MDN: https://developer.mozilla.org/zh-CN

如何学习对象中的方法

  1. 查阅该方法的功能
  2. 查阅该方法的功能
  3. 查阅该方法的功能
  4. 通过 demo 进行测试

Math 对象

Math 概述

Math 对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值 等)可以使用 Math 中的成员。

Math.PI // 圆周率
Math.floor() // 向下取整
Math.ceil() // 向上取整
Math.round() // 四舍五入版 就近取整 注意 -3.5 结果是 -3
Math.abs() // 绝对值
Math.max()/Math.min() // 求最大和最小值
console.log(Math.PI);
console.log(Math.max(1, 3, 83, 2, 8));//83
console.log(Math.max(-1, -10));//-1
console.log(Math.max());//-Infinity
console.log(Math.min(42, 24, 13, 435, 2));//2
//案例:封装自己的数学对象
//利用对象封装自己的数学对象 里面有 PI 最大值和最小
var myMath={
PI: 3.141592653589793,
max:function(){
var max=arguments[0];
for(var i=1;i<arguments.length;i++){
if(arguments[i]>max){
max=arguments[i];
}
}
return max;
},

min: function () {
var min = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] < min) {
max = arguments[i];
}
}
return min;
}

}
console.log(myMath.PI)
console.log(myMath.max(1,31,14,343,3242))
console.log(myMath.min(1, 31, 14, 343, 3242))
// 绝对值
console.log(Math.abs(1))//1
console.log(Math.abs(-1))//1
console.log(Math.abs('-1'))//隐士转换 会把字符串型 -1 转换成数字类型
console.log(Math.abs('haha'))//NAN
// 三个取整方法

//(1)Math.floor()向下取整,向最小值取值
console.log(Math.floor(2.1));//2
console.log(Math.floor(2.9))//2

//(2)Math.seil() seil()天花板,向上取整,向最大取值
console.log(Math.seil(2.1))//3
console.log(Math.seil(2.9))//3

//(3)Math.round()四舍五入,其他数字都是四舍五入,但是 .5 特殊 它往大值去
console.log(Math.round(2.1))//2
console.log(Math.round(2.5))//3
console.log(Math.round(2.9))//3
console.log(Math.round(-2.1))//-2
console.log(Math.round(-2.5))//-2

随机数方法 random()

random() 方法可以随机返回一个小数,其取值范围是 [0,1),左闭右开 0 <= x < 1

得到一个两数之间的随机整数,包括两个数在内

//随机数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}

getRandom(1, 10)//1~10,随机数
//随机点名
var arr = ['张三', '李四', '王二', '麻子'];
console.log(arr[getRondom(0, 3)]);

function getRondom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRondom(0, arr.length-1));
//猜数字游戏

function getRondom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;

}

var random = getRondom(1, 10);
while(true){
var num=prompt('你来猜,输入1~10之间的数字')
if(num> random){
alert('你猜大了')
}else if(num<random){
alert('你猜小了')
}else{
alert('你猜对了')
break;//退出整个循环,结束程序
}
}

Data日期对象的使用

获取当前时间必须实例化

var date=new Date();
console.log(date);

Date() 构造函数的参数

如果括号里面有时间,就返回参数里面的时间。例如日期格式字符串为‘2022-10-1’,可以写成new Date(‘2022-10-1’) 或 者 new Date(‘2019/10/1’)

var date1 = new Date(2022,10,1);
console.log(date1);//返回的是11月不是10月
var date2=new Date('2022-10-1 23:59:59')
console.log(date2);

日期格式化

我们想要 2022-8-8 8:8:8 格式的日期,要怎么办?

需要获取日期指定的部分,所以我们要手动的得到这种格式。

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

案例: 输出当前日期

请写出这个格式的日期:2019年8月8日 星期

//格式化日期 年月日

var date = new Date();
console.log(date.getFullYear());//返回当年年份
console.log(date.getMonth()+1);//月份 返回的月份小1个月 记得月份+1
console.log(date.getDate());//获取当天日期 几号
console.log(date.getDay());//周一返回的是1 周六返回的是6 但是周日返回的是0
//2022年8月30日星期二

var year = date.getFullYear();
var mouth = date.getMonth()+1;
var dates = date.getDate();
var arr=['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六',]
var day = date.getDay()
console.log('今天是:'+year+'年'+mouth+'月'+dates+'日 '+arr[day] );

案例: 输出当前时间

写一个函数,格式化日期对象,成为 HH:mm:ss 的形式 比如 00:00:00

//封装一个函数返回当前的时分秒 格式 08:08:08
function gettime() {
var time = new Date()
var h = date.getHours();
h = h < 10 ? '0' + h : h;
var m = date.getMinutes();
m = m < 10 ? '0' + m : m;
var s = date.getSeconds();
s = s < 10 ? '0' + s : s;

return h + ':' + m + ':' + s;
}
console.log(gettime());

获取日期的总的毫秒形式

Date 对象是基于1970年1月1日(世界标准时间)起的毫秒数