概述
我们都知道循环有for循环、while循环、do while循环 ,基本的循环结构都很容易理解,其中感觉嵌套循环很巧妙,特别是在一些小例题的应用上。
第一个小例题:
求1~100以内的所有质数
<script>
// 质数
for (var i = 2; i < 101; i++) {
var cont = 0;
for (var j = 2; j < i; j++) {
if (i % j == 0) {
cont++;
}
}
if (cont == 0) {
console.log(i);
}
}
</script>
第二个小例题:
九九乘法表
<script>
// 乘法表
for (var i = 1; i < 10; i++) {
document.write("<br>")
for (var j = 1; j < i + 1; j++) {
document.write(j + "*" + i + "=" + i * j + " ");
}
}
</script>
常用内置对象
1.Math对象
Math对象用来对数字进行与数学相关的运算,不需要实例化对象,可以直接使用其静态属性和静态方法,Math对象的常用属性和方法如下:
Math.abs() 计算绝对值
Math.floor() 向下取整(整数返回自身,小数返回这个小数的整数部分,负小数返回比整数部分小一的负整数)
Math.ceil() 向上取整(整数返回自身,小数返回比小数整数部分大一的整数,负小数直接去掉小数部分)
Math.random() 取0-1之间的随机小数
Math.round() 四舍五入
Math.pow(x,y) x的y次幂
Math.sqrt() 开平方
Math.max() 取最大值
Math.min() 取最小值
小案例:使程序随机生成一个1~10之间的数字,并让用户输入一个数字,判断这两个数的大小,如果用户输入的数字大于随机数,那么提示“你猜大了”,如果用户输入的数字小于随机数,则提示“你猜小了”,一共有5次机会,如果五次都没有猜对那么程序结束,如果两个数字相等,就提示“恭喜你,猜对了”,结束程序。
// 随机数
var sjs = Math.floor(Math.random() * 10 + 1);
var num = parseInt(prompt("请输入数字"));
for (var i = 0; i < 5; i++) {
if (num > sjs) {
alert("太大了");
var num = parseInt(prompt("请输入数字 (你还剩" + (5 - i - 1) + "次机会)"));
} else if (num < sjs) {
alert("太小了");
var num = parseInt(prompt("请输入数字(你还剩" + (5 - i - 1) + "次机会)"));
} else {
alert("猜对了");
break;
}
if (i == 4) {
alert("你没有机会了");
break;
}
}
2.Date对象
Date对象是JavaScript的内置对象,使用之前必须先对其进行实例化(调用构造)然后才能使用其属性和方法。Date对象主要是用来处理日期以及时间。
Date对象的常用方法:
Date.parse() 返回从1970年1月1日零时整算起的毫秒数(当地时间)
Date.getFullYear() 返回Date对象的年份字段
Date.getMonth() 返回月份数(0-11),想要几月的话,需要加一
Date.getDay() 返回一周的第几天(0-6),想要星期几的话,需要加一
Date.getDate() 返回日期的“日”部分,值为1~31
Date.getHours() 返回日期的“小时”部分,值为0~23
Date.getMinutes() 返回日期的“分钟”部分,值为0~59
Date.getSeconds() 返回日期的“秒”部分,值为0~59
Date.setYear() 设定日期的“年”部分
Date.setFullYear() 设定日期的“年”部分
Date.setMonth() 设定日期的“月”部分,值为0~11。其中0表示1月,…,11表示12月
Date.setDate() 设定日期的“日”部分,值为0~31
Date.setHours() 设定日期的“小时”部分,值为0~23
Date.setMinutes() 设定日期的“分钟”部分,值为0~59
Date.setSeconds() 设定日期的“秒”部分,值为0~59
小案例:想必大家都注意到过微信朋友圈的时间,比如几分钟前发布,几小时前发布。。。
// 获取当前时间
var dqsj = new Date();
// // 获取发布朋友圈的时间
var fbpyq = new Date("2022-7-2 12:29:10");
// // 转换为毫秒
dqsj = Date.parse(dqsj);
fbpyq = Date.parse(fbpyq);
// // 计算
var time = dqsj - fbpyq;
// // 秒
var miao = parseInt(time / 1000);
// // 分
var fen = parseInt(time / 1000 / 60);
// // 时
var shi = parseInt(time / 1000 / 60 / 60);
// // 天
var tian = parseInt(time / 1000 / 60 / 60 / 24);
// // 判断
if (shi > 24) {
document.write(tian + "天之前发布");
} else if (fen > 60) {
document.write(shi + "小时之前发布");
} else if (miao > 60) {
document.write(fen + "分钟之前发布");
} else {
document.write(miao + "秒之前发布");
}
3.字符串
符串对象使用new String()来创建,在String构造函数中传入字符串,这样就会在返回的字符串对象中保存这个字符串。
字符串的常用方法:
String.charAt(index) 返回指定索引位置的字符,和使用索引方式获取结果一样
String.indexOf() 从前往后找,找到返回内容的索引,找不到返回-1
String.length 字符串的长度
String.slice(n,m) 抽取一个子串
String.substr(start,count) 将源字符串进行截取从start索引开始截取count个字符
String.substring(start,end) 将原字符串进行截取从start索引开始到end结束(取不到end)
String.split(切割形式) 把一个字符串分割成字符串数组
String.toUpperCase() 转大写字母
String.toLowerCase() 转小写字母
最后
以上就是优美冰淇淋为你收集整理的js嵌套循环以及常用内置对象的全部内容,希望文章能够帮你解决js嵌套循环以及常用内置对象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复