让用户控制循环次数
语法:var num = prompt('输入次数');
for (var i = 1; i <= num; i++){循环语句}
重复循环不同代码
语法:1. for (var i = 1; i <= 100; i++) {
console.log('这个人今年' + i + '岁了');
}
2.// for 里面是可以添加其他语句的
for (var i = 1; i <= 100; i++) {
if (i == 1) { console.log('这个人今年1岁了, 它出生了');
} else if (i == 100) {
console.log('这个人今年100岁了,它死了'); } else {
console.log('这个人今年' + i + '岁了'); }
}
注:里面可以嵌套if分支语句
双重 for 循环
语法:var row = prompt('请输入您打印几行星星:');
var col = prompt('请输入您打印几列星星:');
var str = '';
for (var i = 1; i <= row; i++) {
for (j = 1; j <= col; j++) {
str += '☆';
}
str += '\n';
}
console.log(str);
注:外面的for控制行数,里面的for控制列数,\n是换行。
while 循环
语法: var num = 1;//初始化变量
while (条件表达式) {
// 循环体代码
//操作表达式 (num++;)
}
例: var message = prompt('你爱我吗?');
while (message !== '我爱你') {
message = prompt('你爱我吗?');
}
alert('我也爱你啊!');
注:1.必须要操作表达式,否则会成为死循环,卡死电脑。
2.必须要有初始化变量。
do while 循环
语法:do {
// 循环体代码 - 条件表达式为 true 时重复执行循环体代码
//操作表达式 (num++;)
} while(条件表达式);
例: do {
var message = prompt('你爱我吗?');
} while (message !== '我爱你')
alert('我也爱你啊');
注:1.先执行一次循环体,如果满足条件表达式则继续执行,否则停止执行。
2.至少会执行一次循环体。
continue 关键字
例:for (var i = 1; i <= 5; i++) {
if (i == 3) {
console.log('这个包子有虫子,扔掉');
continue; // 跳出本次循环,跳出的是第3次循环
}
console.log('我正在吃第' + i + '个包子呢');
}
注:只要遇见 continue 就退出本次循环,继续执行剩余次数的循环。
break 关键字
例:for (var i = 1; i <= 5; i++) {
if (i == 3) {
break; // 直接退出整个for 循环,跳到整个for下面的语句
}
console.log('我正在吃第' + i + '个包子呢');
}
注:只要遇见break 就退出整个循环
遍历对象
语法:for (变量 in 对象名字) {
// 在此执行代码
}
例: for (var k in obj) {
console.log(k); // k 变量 输出 得到的是 属性名
console.log(obj[k]); // obj[k] 得到是 属性值
}
// 我们使用 for in 里面的变量 我们喜欢写 k 或者 key
date内置对象
日期(年月日,时分秒)
var date = new Date(); //获取时间对象
colsole.log(date); //打印时间
var year = date.getFullYear(); //获取年份
var month = date.getMonth() + 1; //获取月份,月份要加1
var dates = date.getDate(); //获取日
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; //给星期变为文字
var day = date.getDay(); //获取星期
var h = date.getHours(); //获取时
h = h < 10 ? '0' + h : h; //给小于10 的数前加0
var m = date.getMinutes(); //获取分
m = m < 10 ? '0' + m : m;
var s = date.getSeconds(); //获取秒
s = s < 10 ? '0' + s : s;
console.log('今天是:' + year + '年' + month + '月' + dates + '日' + h + '时' + m + '分' + s + '秒 ' + arr[day]); //打印出时间
倒计时
毫秒数转换为天、时、分、秒(时间戳转换为时分秒)
公式:1. d = parseInt(总秒数/ 60/60 /24); // 计算天数 。
2. h = parseInt(总秒数/ 60/60 %24) // 计算小时。
3. m = parseInt(总秒数/60 %60 ); // 计算分数 。
4. s = parseInt(总秒数%60); // 计算当前秒数。
例: function countDown(time) {
var nowTime = +new Date(); // 返回的是当前时间总的毫秒数
var inputTime = +new Date(time); // 返回的是用户输入时间总的毫秒数
var times = (inputTime - nowTime) / 1000; // times是剩余时间总的秒数
var d = parseInt(times / 60 / 60 / 24); // 天
d = d < 10 ? '0' + d : d; //如果小于10那么就在前面加0.
var h = parseInt(times / 60 / 60 % 24); //时
h = h < 10 ? '0' + h : h; //如果小于10那么就在前面加0.
var m = parseInt(times / 60 % 60); // 分
m = m < 10 ? '0' + m : m; //如果小于10那么就在前面加0.
var s = parseInt(times % 60); // 当前的秒
s = s < 10 ? '0' + s : s; //如果小于10那么就在前面加0.
return d + '天' + h + '时' + m + '分' + s + '秒'; //函数的返回值
}
console.log(countDown('2019-5-1 18:00:00')); //给函数赋值,并显示距离倒计时结束的时间。
var date = new Date();
console.log(date);//显示当前的时间
Math内置对象
随机小数
Math.random();// 输出为0~1之内的小数,包含0.
随机整数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var random = getRandom(1, 10); //给函数内的形参赋值,输出为1~10内随机的数。
注:随机整数我们需要先封装一个函数,然后在调用。