提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、循环结构语句
1.核心思想
当针对重复数据操作,"循环思想"
2循环语句
for:开发中最常见的
while:其次
do-while:很少使用的在开发中(在java语言中,底层原码里面会出现do-while)
2.1 For循环
循环遍历(遍历,就是将元素数据一一获取出来)
然后使用这些数据,完成业务逻辑判断!
for(初始化语句;条件表达式;控制体语句){
循环体语句;
}
执行流程:
1)首先初始化语句执行一次,给变量赋值
2)判断条件表达式是否成立,如果成立,就执行循环体语句
3)继续执行控制体语句(也称为"步长语句"),++或者-- 对变量自增或者自减1
4)继续判断条件表达式是否成立,如果成立,继续执行循环体语句,执行控制体语句,
...
...
5)直到条件表达式不成立,for循环结束!
举例:
<script>
var sum = 0;
for ( var x =1 ; x<=20;x++ )
{
sum = sum + x;
}
document.write("1-20的和是:"+sum);
//1-20偶数求和
</script>
结果如下:
2.2while循环
while循环:
不明确循环的次数,使用while
常见的死循环:
while(true){
//当满足某种条件的时候,break; 结束循环!
}
while格式
初始化语句;
while(条件表达式){
循环体语句;
控制体语句(步长语句) ;
}
执行流程:
1)初始化语句对变量赋值
2)判断条件表达式是否成立,
成立,则执行循环体,一次执行步长语句;
3)再次判断条件表达式是否成立,....
..
4)条件不成立,循环结束!
示例:
<script>
var i = 1 ;
while(i<=5){
document.write("helloworld<br/>") ;
i ++ ;
}
document.write("<hr/>") ;
</script>
结果:
2.3do while循环语句
do-while格式 实际开发场景下,用的很少!
初始化语句;
do{
循环体语句;
控制体语句(步长语句);
}while(条件表达式) ;
执行流程:
1)初始化语句对变量赋值
2)直接执行循环体语句,步长语句进行++或者--,然后执行条件是否成立
3)成立,继续执行循环体以及步长语句
...
4)条件表达式成立,不成立
do-while和for以及while循环最大的区别:
即使条件不成立,循环体至少执行一次!
条件不成立,但依旧执行一次:
<script>
var x = 7;
do{
document.write("11<br/>") ;
x++ ;
}while(x<=6) ;
</script>
如图:当条件不成立时 语句执行一次结果如下;
2.4 for循环应用
需求:在浏览器中输出所有的水仙化数!
水仙花:指定的三位数, 明确了范围:100-999
有什么规律?
个位*个位*个位+十位*十位*十位+百位 *百位*百位=这个数据本身!
153 =3*3*3 + 5*5*5 + 1*1*1
分析:
1)明确三位数,使用for循环 100-999
2)for(var i = 100; i <=999;i++){
//循环中需要获取到这三位数中的每个位数据本身
//定义三个变量
//js中 / 符号,不会默认取整,Math.floor(值):向下取整
var ge = i % 10 ; //153 % 10 = 3
var shi = i/10%10 = 5 // 153/10 %10 =5
var bai = i/10/10 %10 = 1 // 153/10/10 %10 =1
//业务逻辑
//满足条件
if(i ==(ge*ge*ge+shi*shi*shi+bai*bai*bai)){
输出i
}
}
代码如下:
<script>
//document.write(Math.floor(153/10 % 10) ) //Math.floor(值):向下取整
//1)明确三位数,使用for循环 100-999
for(var i = 100 ; i <=999; i++){
//确定每个位数据值
var ge = i % 10 ;
var shi = Math.floor(i/10 % 10) ;
var bai = Math.floor( i/10 /10 % 10) ;
//满足条件,i ==(ge*ge*ge+shi*shi*shi+bai*bai*bai)
if(i==(ge*ge*ge+shi*shi*shi+bai*bai*bai)){
document.write("水仙花数是:"+i+"<br/>");
}
}
</script>
结果如图
二、JS内置对象
1、js内置对象之Date
Date对象:表示当前日期对象
如何创建js内置对象之Date?
通过js的开发手册:三种写法,推荐第一种
dateObj = new Date() :固定的模板
输出浏览器
document.write(dateStr) ;
getFullYear()获取当前年份
获取月份:getMonth(),获取的是0-11之间的整数,后面加1,(1-12月份的值)
获取月份中的日期值 getDate() ;表示的一个月中的日期值。
获取小时 getHours() 表示的小时值
获取分 getMinutes() 方法表示的分钟值。
获取秒 getSeconds()获取秒钟值
示例:
<script>
var datestring=new Date();
document.write(datestring+"<br/>");
var year= datestring.getFullYear();
document.write(year+"年");
var month = datestring.getMonth()+1;
document.write(month+"月");
var date=datestring.getDate();
document.write(date+"日");
var hours = datestring.getHours();
document.write(hours+"时");
var minute=datestring.getMinutes();
document.write(minute+"分");
var second = datestring.getSeconds();
document.write(second+"秒");
</script>
在这里插入图片描述
2.js内置对象之String
js语言中,String对象,指的就是字符串数据值
给的格式:创建一个js的字符串对象
var 对象名 = new String("字符串值") ;
要表示一个字符串的简写格式
var 对象名 = "字符串值" ;
js语言中,String对象,指的就是字符串数据值
给的格式:创建一个js的字符串对象
var 对象名 = new String("字符串值") ;
要表示一个字符串的简写格式
创建一个字符串对象
var s1 = new String("hello") ;
document.write("s1:"+s1+"<br/>") ;
string对象的功能:
//1)常用的功能 charAt() 获取指定索引处的字符
//alert(s.charAt(1)) ;
//2)concat(字符串):拼接功能,将原始内容和当前字符串进行拼接
//没有学习这个功能之前
//使用"+"进行拼接
//document.write(s+"高圆圆") ;
//拼接功能
//alert(s.concat("mysql")) ;
三、函数定义以及调用
1.js调用函数的格式
1.1写法一
function 函数名称也就是你的方法名(形式参数列表....){
//业务代码,直接输出
}
调用函数:
单独调用
函数名称(实际参数列表) ;
1.2写法二
function 函数名称也就是你的方法名(形式参数列表....){
return 具体结果;
}
赋值调用
var 结果变量 = 函数(实际参数) ;
直接输出 结果变量;
注意
1)形式参数列表中不能带var的,直接写参数名称即可
2)在定义的函数里面可以直接输出内容
var 变量= 形式参数进行运算;
直接输出结果;
或者是
在js中函数里面是可以带 return 返回一个具体的结果值;
调用的时候,赋值调用
var 结果 = 函数(实际参数) ;