1.循环格式:
定义初始值 终止条件
// 1.将i的值写在里面
for(var i=0;i<10;i ++){ console.log(i); }
// 2.也可以将i的值写在外面,分号必须还在
var i=0;
for(;i<4;i ++){
console.log(i)
}
// 3. 将 i ++ 写在console.log 后面,分号必须还在
var i=0;
for(;i<4;){
console.log(i);
i ++
}
终止循环和跳过循环
<script> for(var i=1;i<10;i ++){ // if(i==3) { // break; // 当i=3停止循环 // } if(i==3) { continue; // 当i=3,跳过本次循环 } console.log(i); } </script>
四个块,点击每个块弹出他的序号
<style> * { margin: 0; padding: 0; } ul li{ list-style: none; width: 50px; height: 50px; background: red; border: 1px solid white; float: left; } </style> <body> <ul> <li></li> <li></li> <li></li> <li></li> </ul> </body> </html>
1.普通写法
点击第一个 弹出 1
oLi[0].onclick=function () {
(alert(1));
};
...
2.循环来写
// 循环来做到上面的效果 for(var i=0;i<4;i ++){ oLi[i].onclick=function () { alert(i) // 这里打印的i的值是循环结束时的i值 i=4 <时不满足条件,循环结束 打印i值 4 } }
因为循环将i值一下子就循环完了,alert接受的值就是循环结束时的值。
处理方法:将i的值存到一个变量里面
<script> for(var i=0;i<4;i ++){ oLi[i].index=i; // index自定义变量(oLi的属性)接受i的值 oLi[i].onclick=function () { alert(this.index +1) // i值是从0-3,所以+1 } } </script>
2.条件if
格式:
单个条件
--1.
if(判断的条件){
true执行这儿
}else{
false执行这儿
}
--2. if(2<10)alert("true"); // 简写 只有条件为真执行alert,否者不执行
--3. 三目运算 单个·条件才能写成三目运算
3>2?alert(1):alert(0);
// 三目运算
// 3>2?x=5:x=2; 不管真假都是给x赋值 可简写成如下 x=5
x=3>2?5:2; // x=5
多个条件
if(判断的条件){
true执行这儿
}else if(判断的条件){
满足else if执行这儿
}else if ...
判断符:< ,>, =, <= ,>=, !=, !==, ==, ===
- !== 不全等 ,值和类型有一个不同就是不全等
if(3!=="3"){
alert(1) // 值相等,类型不等。为不全等,true alert 1。
}else{
alert(0)
}
- == 判断值是否一样
- === 判断值,和他的类型是否一样
转换为布尔值的时候为false的值:
- 0 number
- false boolean
- "" string
- null object/null
- undefined undefined
- NaN number
NaN not a number 属于number类型 非法运算的时候出现 "11"%"1a" 非法
isNaN(参数) 它会把参数尽量转换成数字
参数为数字返回 false -- 它讨厌数字,所以否掉它
参数不为数字返回 true
alert(isNaN("5")); // 它把字符串"5"转换成数字5,他是数字,条件为false
3. switch :全等判断
<script> // -- switch 全等判断 break终止循环 ,没有break 他会把条件满足后的所有alert都执行 switch("tj"){ case "tj": alert("z") // 满足条件 弹出z ,如果不写break,还会弹出z1 z2 break; case "tj1": alert("z1") break; case "tj2": alert("z2") break; } </script>
4.while
// -- while 类似for 的第三种写法
var i=0;
while(i<5){
console.log(i);
i ++
}
--do while
<script> var i =5; do{ console.log(i); // 先执行一次,不管条件 i -- }while(i>2) // 再判断条件,条件满足再 i -- </script>
打印结果为 5,4,3