1.4 条件语句+循环语句
1.4.1 if else 语句
If else 语句在js中用与运算符写,如果同时满足多个条件,只会执行第一个条件成立的程序,
条件的结果最终是为了得到布尔值 true或者false
两个写法的区别:
1.在if(0<a<10){ } else(){}
括号中得值是要转换为布尔值判断的,当a=100,0<100,-->true,true<10
转换为布尔值,1<10? --->true
2.if(a>0 && a<10){执行A } else{执行B}
当a=100,100>0 对的,100<10 错的,与运算找错的,所以会执行else语句块的B
结论:所以只能用第二个写
结构:
if,else 判断语句
if(条件1){
条件1成立时,执行的程序
}else if(条件2){
条件1不成立,并且条件2成立时,执行的程序
}
……
else{
以上所有条件都不成立时,执行的程序
}
例子:
var a = 100;
if(a>0 && a<10){
document.write("在1-9");
}
else if(a>10 && a<20){
document.write("在11-19");
}
else if(a >20 && a<30){
document.write("在21-29");
}
else{
document.write("在30之外");
} ---------> 执行这个
例子2:同时满足多个条件,只会执行第一个
if(num>1){
console.log('if 成立 执行代码');
}else if(num>2){
console.log('else if 成立 执行代码');
}
1.4.2三目运算符
三目运算是if,else语句的一种简化形式,只有两个条件的语句块才可以简化
if(条件){
条件成立,执行程序1
}else{
条件不成立,执行程序2
}
上面的if,else语句可以简写成以下的三目运算
写法:条件 ?执行程序1 :执行程序2 ;
例子:
var num = 5;
if(num<10){
console.log('烫头');
}else{
console.log('rap')
}
num<10?console.log('烫头'):console.log('rap');
当条件句为空的时候,则可以用null替代
num<10?null:console.log('rap');
1.4.3 switch语句
变量和 数据 在判断时 是全等 === 不存在类型转换
例1:
var num = 4;
switch(num){
case 2:
console.log('我的学号是2');
break;
case 4:
console.log('我的学号是4'); ---->输出这个
break;
case 6:
console.log('我的学号是6');
break;
default:
console.log('我的学号不是 2 4 6 ');
}
例2:
var num = parseFloat('height:20.3px');
if(num==20.3){
console.log(20.3);
}else if(num==NaN){
console.log(NaN)
}else if(typeof num=='number'){
console.log('number'); ----->输出这个
}else{
console.log('num 什么都不是');
}
parseFloat从左到右遇到数字就停止,第一个已经停止了,
输出NaN,任何数与NaN比较都是false,typeof(NaN)--->”mumber”
1.4.4 for循环
作用:重复执行一段程序
基本格式:for(循环起点;循环条件;累加器){
重复执行的代码;
}
for循环执行的顺序
1.设置循环起点
2.验证循环执行的条件
3.如果循环条件为true,就执行程序,如果循环条件为false,for循环结束
4.累加
1==>2==>3==>4==>2==>3==>4……==>2==>3==>4==>循环结束
例子:
for(var i=0;i<90;i++){
console.log("你是猪");
}
for(i=0;NaN;i++){
Console.log(“”);
}
----->不会执行,为什么呢,因为循环条件要的就是布尔值,所以NaN转为布尔值为false
当设置为1的时候,转换成布尔值,变成true,进入死循环
for循环中的关键词
continue结束本轮循环
作用:continue下面的程序不执行,执行累加,开始下一轮循环
break结束整个循环
作用:break下面的程序不执行,不累加不执行,整个for循环结束
for(i=0;i<10;i++){
if(i%2==1) //取奇数
continue; //当循环为奇数的时候,跳出本次循环,进入下面的条件
else{
document.write(i);
}
} --->打印出0 2 4 6 8
上面的换成break时候,会打印0,因为开始0不是奇数,所以会打印
嵌套for循环

第一个for是控制行,第二个是控制列
1.4.5 while循环
while循环是for循环的一种简化形式
设置循环起点;
while(循环执行的条件){
条件成立,执行程序;
步长累加;}
原始值和引用值的补充
原始值:储存在栈区
* number* string* null* undefined* boolean
引用值:储存在堆区,我们声明的变量是在栈区中引用数据的地址
* 普通对象* 函数对象* 数组对象
原始值:var a =2; b=a ; a=333; document.write(b) --->这个b还是等于2
引用值:var arr=[1,2,3]; arr1=arr; arr.push(4); 打印arr1 --->[1,2,3,4]


引用值是在堆区存放着,地址放在了栈区

浙公网安备 33010602011771号