js流程控制语句:
a.顺序结构:从上到下执行的代码就是顺序结构
b.分支结构:
①单分支结构 if(条件默认为true)){语句体}
Eg:if(score>80){
alert(‘条件默认为true’);
}
②双分支结构 if(条件){语句体}else{语句体}
Eg:if(score>90){
alert('成绩是大于90的');
}else{
alert('成绩小于90的');
}
③多分支结构 if(条件){语句体}else if{语句体}else{}
Eg:if(score>=90 && score<=100){
alert('A');
}else if(score<90 && score>=80){
alert('B');
}else if(score<80 && score>=70){
alert('C');
}else if(score<70 && score>=60){
alert('D');
}else{
alert('等级为:E 不及格');
}
④switch...case..
Eg:var score='U';
switch (score){
case 'A':
alert('90-100区间');
// 当满足以上条件时, 退出程序,不会接着往下执行
break;
case 'B':
alert('80-90区间');
break;
default:
alert('以上条件 没有满足的');
break;
}
总结1:使用switch..case时,每一条语句之后都要添加break,意在满足条件时退出整个程序
不会接着往下执行; 在switch..case 最后的default 可写 或者可不写. 写上是规范
总结2:在使用switch..case 语句时, 比较值 使用的是全等(===)
c.循环结构:
①while循环 语法结构:while(条件){循环体}
Eg:输出1-10之间的数字 不包含10?
var n=0;
while(n<9){// 这里的条件很重要: 作为最终退出循环的条件
n++;
document.write(n); // 是将结果 输出在页面中
}
②do..while 语法结构:do{循环体}while(条件)
Eg:输出1-100之间的奇数?
var n2=0;
var count1=0;
do{
n2++;
if(n2%2!=0){
count1++;
document.write('<br />'+n2+'<br />');
}
}while(n2<100);
document.write(count1+'=======');
总结: do..while和while之间的区别?
do..while 即便条件不成立 也会执行一次循环体
while 条件成立 才会执行循环体
③for循环 语法结构:for(初始化值;条件;自增/自减){循环体}
Eg:输出1-10之间的数字
for(var i=1;i<10;i++){
document.write(i);
}
document.write('<br />');
注意事项:
(1)避免死循环;
(2)考虑最终退出循环的条件;
(3)是否 是自增/自减*
④continue用法
Eg:输出1-100之间的数字 ,但是 不包含 55 ,34 ,22,11
for(var i=1;i<100;i++){
if(i==11 || i==22 || i==34 || i==55){
// continue: 退出本次循环 继续下一循环
continue;
}
console.log(i);
}
⑤break用法
Eg:输出1-10之间的所有数字 但是从5开始 之后的数字 都不会输出
for(var i=1;i<10;i++){
if(i==6){
// break 表示退出整个循环
break;
}
if(i>5){
break;
}
}
数组:是指一堆数据的集合,存储多种类型的数据 具有length属性(长度)/索引
数组长度永远会比数组索引大1==>索引=length-1
数组的声明:
a.①使用new Array()===>创建一个数组的对象
Eg:var arr_01=new Array();
②直接创建 字面创建
Eg:var arr_02=[];
数组初始化==数组赋值:
①使用new Array()=>创建一个数组的对象
Eg: var arr_01=new Array(12,‘张三’,true,89.50);
②使用new Array()===>创建一个数组的对象
Eg: var arr_01=new Array();
arr_01[0]=12;
arr_01[1]='张三';
arr_01[2]=true;
arr_01[3]=89.50;
arr_01[4]=111;
③直接创建 字面创建
Eg: var arr_01=[12,'张三',true,89.6];
数组的数据访问/获取/遍历
Eg:var arr_01=[12,‘张三’,true,89.6];
for(var i=0;i<arr_01.length;i++){
document.write(arr_01[i]+’
’);
}
数组操作方法
//1.match() 索引指定值 没有返回true
var str='abcd';
var arr=str.match('a')
console.log( arr)//Array(1)
//2.search() 检索字符串中指定的字符串
var str1='aabbcc'
var arr1=str1.search('a')
console.log( arr1)//0
//3.indexOf() 可返回某个指定字符串值在字符串首次出现的位置
var str2='abcdefg'
console.log(str2.indexOf('b'))//1
//4.replace() 替换字符
var str3='abcdefg';
var str_1=str3.replace('d','你爱');
console.log(str_1);//abc你爱efg
//5. charAt() 获取字符串中的某一字符
var str6='acdf';
console.log(str6.charAt(1))//c
console.dir(str6)
// 6.转小写:toLowerCase.转大写:toUpperCase .
var str4='abcd';
console.log(str4.toUpperCase())//ABCD
var str5='ABCD';
console.log(str5.toLowerCase())//abcd
// 7.concat() 连接字符串
var str_2='abcfd';
console.log(str_2.concat('比好'))//abcfd比好
//8.localeCompare() 比较字符串
var st='a';
var st1='b';
console.log(st1.localeCompare(st))//1
// 9. spilt() 分割字符串 返回字符串数组
var str9='abcdefr';
console.log(str9.split('d'))//分成2个数组 abc/defr
//10. substring() 从字符串中截取字符串;
var str10='abcdefr';
console.log(str10.substring(6))//r
//11.join() 将数组成员通过一个分隔符合并成字符串
var arr_01=[23,12,34,‘张三’];
var str=arr_01.join(’|’)
console.log(str); // 23|12|34|张三
//(12)push()和pop() 从数组最后增加或删除成员
var arr_02=[23,12,34,'张三'];
arr_02.push('李四');
console.log(arr_02); // (5) [23, 12, 34, "张三", "李四"]
arr_02.pop();
console.log(arr_02); // (4) [23, 12, 34, "张三"]
//(13)unshift()和shift() 从数组前面增加或删除成员
var arr_03=['java','js'];
arr_03.unshift('love');
console.log(arr_03); // (3) ["love", "java", "js"]
arr_03.shift();
console.log(arr_03); // (2) ["java", "js"]
//(14)reverse() 将数组反转
var arr_04=['yj','is','name','my'];
arr_04.reverse();
console.log(arr_04); // ["my", "name", "is", "yj"]
//(15)indexOf() 返回数组中元素第一次出现的索引值
var arr_05=[1,2,34,2,1,2,2];
//第一个参数 需要检索的元素
//第二个参数需要检索的索引位置(如果有就返回该索引,如果没有就返回-1)
var index= arr_05.indexOf(2,5);
var index1=arr_05.indexOf(2,7);
console.log(index); // 索引5
console.log(index1); // -1 不存在
//(16)splice() 在数组中增加或删除成员
var arr_06=[2,11,22,45,33];
arr_06.splice(2,1); // 第一个参数表示从索引为几开始删除成员,第二个参数表示删除几个成员
console.log(arr_06);// (4) [2, 11, 45, 33]
arr_06.splice(2,1,90,0,88,66); // 第一个参数表示从索引为几开始删除成员,第二个参数表示删除几个成员,后面参数表示添加的新的成员
console.log(arr_06);// [2,11,90,0,88,66,45,33]
// (17)isArray(): 用于确定传递的值是否是一个 Array
var arr_07=[2,3,4,5,6];
var bool=Array.isArray(arr_07);
console.log(bool);