1.循环格式:

定义初始值    终止条件

// 1.将i的值写在里面
for(var i=0;i<;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<;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
 

JS - 循环,条件if,switch,while的更多相关文章

  1. Vue.js:条件与循环

    ylbtech-Vue.js:条件与循环 1.返回顶部 1. Vue.js 条件与循环 条件判断 v-if 条件判断使用 v-if 指令: v-if 指令 在元素 和 template 中使用 v-i ...

  2. go语言学习——变量、常量、循环、条件、switch、数组和切片

    1.变量 package main import "fmt" func main() { 个或者多个变量. var a string = "initial" f ...

  3. JS流程控制语句 重复重复(for循环)语句结构: for(初始化变量;循环条件;循环迭代) { 循环语句 }

    重复重复(for循环) 很多事情不只是做一次,要重复做.如打印10份试卷,每次打印一份,重复这个动作,直到打印完成.这些事情,我们使用循环语句来完成,循环语句,就是重复执行一段代码. for语句结构: ...

  4. JS循环+循环嵌套+经典例题+图形题

    首先,了解一下循环嵌套的特点:外层循环转一次,内层循环转一圈. 在上一篇随笔中详细介绍了JS中的分支结构和循环结构,我们来简单的回顾一下For循环结构: 1.for循环有三个表达式,分别为: ①定义循 ...

  5. JS 循环练习

    规律   大范围套小范围   循环   分支语句   switch case 嵌套  死循环 while(true)  打破循环   break    continue    while(true) ...

  6. JS数组+JS循环题

    先看JS循环作业题: 一.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米 <script type="text/javascript"> ...

  7. js循环异常

    1.当在循环数组时,数组发生变化,循环item 为定义undifined $.each(blogMng.commonKit.upLoadMng.medias, function (index, ite ...

  8. JS循环汇总

    JS循环汇总 一.总结 一句话总结:js中的循环主要有while.for.for...in.for...of,循环是,要区别不同的循环对象,比如对象,数组,集合等 while for for...in ...

  9. js循环数组(总结)

    js循环数组(总结) 一.总结 一句话总结: for循环:for(j = 0,len=arr.length; j < len; j++) {} foreach循环:arr.forEach((it ...

  10. JS循环解决任意日期间的间隔天数

    用JS循环解决任意日期间的间隔天数,并求截止日期是周几 y1=1900 m1=1 d1=1 y2=2000 m2=5 d2=3 days=0 ydays=0 mdays=0 ddays=d2-d1 f ...

随机推荐

  1. [转载]redis持久化的两种操作RDB和AOF

    Redis 持久化: 提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF. RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AO ...

  2. 实习第一周第一天:接口 extends是继承类,implement是实现接口,原接口里面的方法填充,方法名也是不变,重写override是父类的方法名不变,把方法体给改了

    一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...

  3. 杨恒说李的算法好-我问你听谁说的-龙哥说的(java中常见的List就2个)(list放入的是原子元素)

    1.List中常用的 方法集合: 函数原型 ******************************************* ********************************** ...

  4. WIFI_认证加密学习_STA_AP_WDS

    2-1.1_15_使用卡1_准备工作及配置内核====================================1.无线网卡连接上路由或AP之后使用上是和有线网卡是一样的,都是socket编程. ...

  5. baidu手机浏览器安卓4.5版公布:由于快,所以爱

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxNDUyMzk4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  6. 针对 FastAdmin 2018-01-19 号的升级 SQL (废)

    FastAdmin 在 2018-01-19 升级增加了以下功能. 新增前台会员模块和API会员模块 新增后台会员管理.会员规则和会员分组管理 新增短信发送的行为事件 新增前台Token.短信.日志模 ...

  7. C#中委托如何使用?(转帖)

    1.委托概述委托是C#中新加入的一个类型,可以把它想作一个和Class类似的一种类型,和使用类相似,使用一个委托时,需要两个步骤,首先你要定义一个委托,就像是定义一个类一样:然后,你可以创建一个或多个 ...

  8. npm 发包的简易流程

     发包的简易流程: https://www.jianshu.com/p/ea64fd01679c 错误集锦: npm publish error: 403. You do not have permi ...

  9. Eclipse中不让.svn文件夹一同编译到class中

    开发过程中一直在用SVN做版本控制,使用Eclipse编译文件后,classes文件中总是有.svn的文件夹,在做提交时有时会报错,这些文件没有什么用,而且影响build的速度. 更恼火的是, 如果一 ...

  10. java IO字节流

    字节流可以读取 复制 各种类型 的文件. 写文件 第一种:读文件,每次读取1024字节的内容,读取太大文件不会导致内存溢出 第二种:读文件,更简单 思考?如果复制一个电影 或 1G 以上的文件,会出现 ...