循环语句
- 通过循环语句可以反复的执行一段代码多次
while循环
- 语法:
while(条件表达式){
语句...
}
- while语句在执行时,先对条件表达式进行求值判断,如果值为true,则执行循环体,循环体执行完毕以后,继续对表达式进行判断
- 如果为true,则继续执行循环体,以此类推
- 如果值为false,则终止循环
do...while循环
- 语法:
do{
语句...
}while(条件表达式)
-
执行流程:
- do…while语句在执行时,会先执行循环体,循环体执行完毕以后,在对while后的条件表达式进行判断,
- 如果结果为true,则继续执行循环体,执行完毕继续判断以此类推
- 如果结果为false,则终止循环
-
实际上这两个语句功能类似,不同的是while是先判断后执行,而do…while会先执行后判断,do…while可以保证循环体至少执行一次,而while不能
-
for语句,也是一个循环语句,也称为for循环
-
在for循环中,为我们提供了专门的位置用来放三个表达式:
- 初始化表达式
- 条件表达式
- 更新表达式
-
for循环的语法:
for(①初始化表达式;②条件表达式;④更新表达式){
③语句...
}
-
for循环的执行流程:
①执行初始化表达式,初始化变量(初始化表达式只会执行一次)
②执行条件表达式,判断是否执行循环。
如果为true,则执行循环③
如果为false,终止循环
④执行更新表达式,更新表达式执行完毕继续重复② -
任意一种循环都可以互相嵌套
-
以下是死循环的写法
- 像这种将条件表达式写死为true的循环,叫做死循环
- 该循环不会停止,除非浏览器关闭,死循环在开发中慎用
- 可以使用break,来终止循环
while(true){
if(j>10){
break;//退出整个循环
}
j++;
}
for循环的死循环写法
for(;;){
- break关键字可以用来退出switch或循环语句
- 不能在if语句中使用break和continue
- break关键字,会立即终止离他最近的那个循环语句
- continue关键字可以用来跳过当次循环
- 同样continue也是默认只会对离他最近的循环循环起作用
- 可以为循环语句创建一个label,来标识当前的循环,label:循环语句
- 使用break语句时,可以在break后跟着一个label,这样break将会结束指定的循环,而不是最近的
数组去重
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数组去重</title>
<script type="text/javascript">
var aRr = [1,3,4,1,6,9,1,2,5,3,1,6,5,4,4];
var aRr2 = [];
for(var i=0; i<aRr.length; i++){
//判断元素第一次出现的位置,恰好是当前索引时,就将元素放入新数组
if(aRr.indexOf(aRr[i]) == i){
aRr2.push(aRr[i]);
}
}
alert(aRr2);//1,3,4,6,9,2,5
</script>
</head>
<body>
</body>
</html>
字符串处理方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>字符串处理的方法</title>
<script type="text/javascript">
/*字符串切断转成数组*/
var sTr = '2018-06-20';
var aRr = sTr.split('-');
// alert(aRr);//2018,06,20
// console.log(aRr);
var aRr2 = sTr.split('');
// console.log(aRr2);
/*实际上就是修改了<title>标签的内容*/
// document.title = aRr2;
var sTr2 = '#div1';
var sTr3 = '.div1';
/*获取指定索引的字符*/
var sTr4 = sTr2.charAt(0);
if(sTr4 == '#'){
// alert('id选择器');
}
/*查看子串第一次出现的位置*/
var sTr5 = 'Microsoft Yahei';
var num = sTr5.indexOf('Yahei');
// alert(num);//10
var num2 = sTr5.indexOf('xihei');
// alert(num2);//没有找到就弹出-1
/*substring截取子串*/
//从10开始,截到15(包括开始位置,不包括结束位置)
// var sTr6 = sTr5.substring(10,15);//Yahei
//从10开始截取到末尾
var sTr6 = sTr5.substring(10);//Yahei
// alert(sTr6);
/*全部转为大写字母*/
// alert(sTr6.toUpperCase());//YAHEI
/*全部转为小写字母*/
alert(sTr6.toLowerCase());//yahei
</script>
</head>
<body>
</body>
</html>
字符串反转
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>字符串反转</title>
<script type="text/javascript">
var sTr = "123asdf79888asdfe21";
//1、split字符串转成数组
//2、reverse数组反转
//3、join数组转成字符串
var sTr2 = sTr.split('').reverse().join('');
alert(sTr2);//12efdsa88897fdsa321
</script>
</head>
<body>
</body>
</html>