// 0~10的随机整数(不包含10)
// console.log(Math.random()*10);
// console.log(Math.floor(Math.random()*10));
// 0~10的随机整数(包含10)
// console.log(Math.floor(Math.random()*11));
// 10~20的随机整数
// console.log(Math.floor(Math.random()*11+10));
// 20~50的随机整数
// console.log(Math.floor(Math.random()*31+20));
// n~m之间的随机整数
function getNum(n,m){
return Math.floor(Math.random()*(m-n+1)+n);
}
console.log(getNum(0,255));
// Math是js中内置的对象,
// Math对象中有很多操作数字的方法
// 1. random() 生成0~1的随机数,不包含1
// 语法:Math.random()
// console.log(Math.random());
// 2. round() 四舍五入取值
// 语法:Math.round(你要计算的数字)
// 返回值为:四舍五入后的数字
// console.log(Math.round(3.5)); // 4
// console.log(Math.round(3.1)); // 3
// 3. abs() 去绝对值
// 语法: Math.abs(你要计算的数字)
// 返回值:取的绝对值
// console.log(Math.abs(123)); // 123
// console.log(Math.abs(-123)); // 123
// 4. ceil() 向上取整
// 语法:Math.ceil(你要取整的数字)
// 返回值:向上取整的数值
// console.log(Math.ceil(1.2)); // 2
// console.log(Math.ceil(1.9)); // 2
// console.log(Math.ceil(1.0)); // 1
// 5. floor() 向下取整
// 语法:Math.floor(你要取整的数值)
// 返回值:向下取整得到的数值
// console.log(Math.floor(1.1)); // 1
// console.log(Math.floor(1.9)); // 1
// console.log(Math.floor(-1.9)); // -2
// 6. min() 去多个数字中的最小值
// 语法: Math.min(你要比较的多个数字)
// console.log(Math.min(1,2,3,4,6,0,-1));// -1
// 7. max() 去多个数字中的最大值
// 语法: Math.max(你要比较的多个数字)
// console.log(Math.max(1,2,3,4,6,0,-1));// 6
// 8. pow() 去数字的次幂
// 语法:Math.pow(你要算的数,几次方);
// console.log(Math.pow(2,3));// 8
// console.log(Math.pow(13,3));// 2197
// 9. sqrt() 求平方根的值
// 语法:Math.sqrt(要开平方的值)
// console.log(Math.sqrt(4)); // 2
// console.log(Math.sqrt(16)); // 4
// console.log(Math.sqrt(9)); //3
// console.log(Math.sqrt(2)); // 1.4142135623730951
// 10. PI 得到圆周率
// console.log(Math.PI);
// 11. toFixed() 保留小数的位数,会四舍五入,也会补0
// 语法:数字.toFixed(要保留的位数)
// console.log(12.125.toFixed(2)); // 12.13
// console.log(12.123.toFixed(4)); //12.1230
// 通过js随机页面的背景颜色
// 可以通过document.body 获取到页面中的body标签
// 可以通过 document.body.style.backgroundColor 设置body标签背景颜色
// document.body.style.backgroundColor = 'rgb(0,0,0)';
// 获取随机的颜色
// n~m之间的随机整数
function getNum(n,m){
return Math.floor(Math.random()*(m-n+1)+n);
}
var str = 'rgb('+getNum(0,255)+','+getNum(0,255)+','+getNum(0,255)+')';
// // rgb(255,255,255)
// console.log(str);
// btn.onclick = function(){
// document.body.style.backgroundColor = 'rgb('+getNum(0,255)+','+getNum(0,255)+','+getNum(0,255)+')';
// }
// 自动切换背景颜色
// 定时器
// setInerval(函数,时间) 每过一段时间会执行一次函数
// 时间是毫秒单位
setInterval(function(){
document.body.style.backgroundColor = 'rgb('+getNum(0,255)+','+getNum(0,255)+','+getNum(0,255)+')';
},1000)
// Error
// 我们可以手动抛出自定义的错误信息
// throw Error(错误信息)
// try-catch使用 常用于错误调试,和兼容写法
// 先执行try中的代码,如果有错误;
// 就执行catch中的代码,错误信息在catch的参数中
// throw Error('你错了');
// 'use strict'
try {
num = 100
} catch (error) {
// console.log(error);
// console.log('错误');
// throw Error(error);
}
// 进制转换
// 1. toString(转为几进制)
// 语法:数字.toString(转为几进制)
// 可以转为二进制到三十二进制
// 返回对应进制的数字字符串,如果不传参数,返回十进制的字符串
// var num = 10;
// console.log(num.toString(2)); // 1010
// console.log(num.toString(3)); // 101
// var str = 100;
// console.log(str.toString(16)); // 64
// 2. parseInt() 返回十进制的数值
// parseInt转数字的规则:从第一个数字开始转换,只转换数字,如果遇到不能转的,则转换停止
// 语法:parseInt(要转换的数字或字符串,把前面的参数当几进制看)
// 返回值:是十进制的数字
// console.log(parseInt(10,2)); // 2
// console.log(parseInt('10',8)); // 8
// console.log(parseInt('1a',16)); // 26
// console.log(parseInt('10a123',2)); // 2
// console.log(parseInt('10a123',16)); // 1089827
// 二进制 十进制
// 10101 1+1*2*2+1*2*2*2*2 = 21
// 三进制
// 0 1 2
// 三进制 十进制
// 111 1+1*3+1*3*3 = 13
// 在js中常用的进制表示方法
// 0开头的表示是八进制的数字
// var num1 = 010;
// console.log(num1); // 8
// 0b开头的是二进制数字
// var num2 = 0b10;
// console.log(num2);// 2
// 0x开头的是十六进制
// var num3 = 0x1a;
// console.log(num3);// 26
// Date是js的内置构造函数
// 可以通过new Date() 创建时间对象
// 语法:new Date(参数列表)
/*
传参详情:
一. 不传参数,返回当前时间对象
二. 传参
1. 最少传递2个参数
参数1 传递一个年份
参数2 传递一个月份 范围0-11 0表示1月份 11表示12月份
3. 参数3 传递日期,一个月份中的天数
4. 参数4 传递一个小时时间
4. 参数5 传递一个分钟时间
4. 参数6 传递一个秒钟时间
三. 参数可以是一个字符串
'2021-8-18 14:57:00'
'2021/8/18 8:00:00'
'2021.8.18 8:00:00'
*/
// var time = new Date();
// var time = new Date(2021,0,28,10,10,60);
// var time = new Date('2021-8-18 14:57:00');
// var time = new Date('2021-8-18');
// var time = new Date('2021/8/18 8:00:00');
// var time = new Date('2021.8.18 18:00:00');
// console.log(time);
// 时间方法
// 创建当前的时间对象
var time = new Date();
// console.dir(time); // Wed Aug 18 2021 15:52:51 GMT+0800
// 1. getFullYear() 获取时间的年份
// var year = time.getFullYear();
// console.log(year); // 2021
// 2. getMonth() 获取时间的月份 0-11 0表示一月份 11表示12月份
// 获取到的是月份-1的数值
// console.log(time.getMonth()); // 7
// 3. getDate() 获取日期
// console.log(time.getDate()); // 18
// 4. getDay() 获取星期几 0-6 0表示周天 6表示周六
// console.log(time.getDay()); // 3
// 5. getHours() 获取小时
// console.log(time.getHours());// 15
// 6. getMinutes() 获取分钟数
// console.log(time.getMinutes()); // 55
// 7. getSeconds() 获取秒数
// console.log(time.getSeconds()); // 4
// 8. getMilliseconds() 获取毫秒数
// console.log(time.getMilliseconds()); // 276
// 9. getTime() 获取时间到格林威治时间的毫秒差 也叫作时间戳
// 格林威治时间: 1970 01 01 00:00:00
// console.log(time.getTime()); // 1629273551995
div{
width: 500px;
height: 50px;
text-align: center;
line-height: 50px;
font-size: 20px;
margin: 100px auto;
color: red;
/* background-color: yellowgreen; */
}
/*
计算时间差:
1. 获取两个时间的时间对象
2. 获取两个时间的时间戳
3. 两个时间戳相减
4. 计算出相差的多少天多少小时多少分多少秒
*/
// 计算当前时间到未来时间的时间差
function timeDiff(time){
// 获取时间对象
var time1 = new Date(time);
var time2 = new Date();
// 得到时间戳
var t1 = time1.getTime();
var t2 = time2.getTime();
// 计算时间戳的差,毫秒单位,需要转为秒单位
var cha = Math.round((t1-t2)/1000);
// 根据时间差cha计算出相差的天数
// cha/(24*60*60) 去整得到天数
var days = parseInt(cha/(24*60*60));
// 计算时间差不足一天的秒数, 然后除以(60*60)取整就是相差的小时
var hours = parseInt((cha-days*24*60*60)/3600);
// 计算分钟数 (cha%3600)/60取整
var mins = parseInt((cha%3600)/60);
// 计算相差的秒数 cha%60
var seconds = cha%60;
// console.log(days,hours,mins,seconds);
// console.log(days);
// 组装一个时间差的字符串
var str = '春节倒计时:'+days+'天'+hours+'小时'+mins+'分钟'+seconds+'秒';
// console.log(str);
// 在js中设置标签中的文本内容
// 给标签的innerText属性赋值
dv.innerText = str;
}
// 计算到春节的时间差
// 2022-2-1
// 使用定时器,倒计时时间
setInterval(function(){
timeDiff('2022-2-1');
},1000)
// for (var i = 0; i < 10; i++) {
// console.log(i);
// }
// 在for循环中,可以写多个条件,逗号分隔;
// 但是for循环只会判断,分号前面一个条件结果
// for (var i = 0,j=1; j < 10,i < 5; i++) {
// console.log(i,j);
// j++
// }
var x = 10;
function fn(num){
return num++
}
var y = fn(x);
console.log(y);
console.log(x);