内置对象: js中自带的对象,供开发者使用,提供了一些常用/基本而必要的功能(属性和方法)
如:Math、Date、Away、String ,,,,,,,
Math对象
不是构造函数,不需要new来调用,而是直接使用里面的属性和方法即可。
console.log(Math.PI); //圆周率
console.log(Math.max(1,99,3)); //最大值
console.log(Math.max(1,28,'god')); //有非数字,返回NaN
console.log(Math.max()); //没有参数返回 -Infinity(负无穷大)
console.log(Math.abs(-1));
console.log(Math.abs(1)); //取绝对值
console.log(Math.abs('-1')); //隐式转换 字符->数字
console.log(Math.abs('duck')); //NaN
Math.floor(); //向下取整
Math.ceil(); //向上取整
Math.round(); //四舍五入
利用对象封装自己的数字对象,存在PI和最大值,最小值。
var myMath={
PI=3,1415926535,
max:function(){
var max = arguments[0];
for(var i=1;i<argument.length;i++){
if(arguments[i]>max){
max = argument[i];
}
}
return max;
}
min:function(){
var min = arguments[0];
for(var i=1;i>argument.length;i++){
if(arguments[i]>min){
min = argument[i];
}
}
return min;
}
}
console.log(myMath.PI);
console.log(myMath.max(1,3);
console.log(myMath.min(1,2));
随机数方法random()
函数随机返回一个浮点数,浮点数范围 [0,1),不跟参数。返回两数之间随机整数[m,n]
console.log(Math.random);
Math.floor(Math.random()*(max-min+1)+min);
function getRandom(min,max){
return Math.floor(Math.random()*(max-min+1)+min);
}
console.log(getRandon(1,10));
随机点名案例
var arr=['我','爱','吃','饭'];
console.log(arr[getRandom(0,4)]);
console.log(arr[getRandom(0,arr.length-1)]);
猜数字游戏
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var random = getRandom(1, 10);
while (ture) {
var num = prompt('你猜 1-10');
if (num > random) {
alert('bbig');
} else if (num < random) {
alert('small');
} else {
alert('right');
break;
}
}
Date日期函数的使用
date()数据对象,使用new调用创建日期对象
var arr = new Array(); //创建一个数组对象
var obj = new Object(); //创建一个对象实例
//使用Date
var date = new Date(); //无参数:返回当前系统当前时间
console.log(date); //输出
//例如
var date1 = new Date(2019,10,1);
console.log(date1); //返回11月
var date2 = new Date(2019-10-1 8:8:8);
console.log(date2); //返回10月 (字符串型)
日期格式化
var date = new Date(var date1 = new Date(2019,10,1);
console.log(date.getFullYear()); //返回当前日期的年
console.log(date.getMonth()); //返回当前日期的月份(0-11月)
console.log(date.getMonth()+1); //返回当前日期的月份
console.log(date.getDate()); //返回当前日期的日
console.log(date.getDay()); //返回当前日期是周几
//格式化当前日期 时 分 秒
var date = new Date();
console.log(date.getHours()); //时
console.log(date.getMinutes()); //分
console.log(date.getSeconds()); //秒
返回现在所在时间:
function getTime() {
var time = new Date();
var h = time.getHours();
var m = time.getMinutes();
var s = time.getSeconds();
h = h < 10 ? '0' + h : h;
m = m < 10 ? '0' + m : m;
s = s < 10 ? '0' + s : s;
return h + ':' + m + ':' + s;
}
console.log("当前时间是" + getTime());
倒计时案例
function countDown(time) {
var nowTime = +new Date(); //当前时间总毫秒数
var inputTime = +new Date(time); //用户输入时间总毫秒数
var times = (inputTime - nowTime) / 1000; //剩余时间的总毫秒数 /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 + '秒';
}
console.log(countDown('2023-10-19 10:39:09'));
var date = new Date();
console.log(date);