JS - 循环,条件if,switch,while
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的更多相关文章
- Vue.js:条件与循环
ylbtech-Vue.js:条件与循环 1.返回顶部 1. Vue.js 条件与循环 条件判断 v-if 条件判断使用 v-if 指令: v-if 指令 在元素 和 template 中使用 v-i ...
- go语言学习——变量、常量、循环、条件、switch、数组和切片
1.变量 package main import "fmt" func main() { 个或者多个变量. var a string = "initial" f ...
- JS流程控制语句 重复重复(for循环)语句结构: for(初始化变量;循环条件;循环迭代) { 循环语句 }
重复重复(for循环) 很多事情不只是做一次,要重复做.如打印10份试卷,每次打印一份,重复这个动作,直到打印完成.这些事情,我们使用循环语句来完成,循环语句,就是重复执行一段代码. for语句结构: ...
- JS循环+循环嵌套+经典例题+图形题
首先,了解一下循环嵌套的特点:外层循环转一次,内层循环转一圈. 在上一篇随笔中详细介绍了JS中的分支结构和循环结构,我们来简单的回顾一下For循环结构: 1.for循环有三个表达式,分别为: ①定义循 ...
- JS 循环练习
规律 大范围套小范围 循环 分支语句 switch case 嵌套 死循环 while(true) 打破循环 break continue while(true) ...
- JS数组+JS循环题
先看JS循环作业题: 一.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米 <script type="text/javascript"> ...
- js循环异常
1.当在循环数组时,数组发生变化,循环item 为定义undifined $.each(blogMng.commonKit.upLoadMng.medias, function (index, ite ...
- JS循环汇总
JS循环汇总 一.总结 一句话总结:js中的循环主要有while.for.for...in.for...of,循环是,要区别不同的循环对象,比如对象,数组,集合等 while for for...in ...
- js循环数组(总结)
js循环数组(总结) 一.总结 一句话总结: for循环:for(j = 0,len=arr.length; j < len; j++) {} foreach循环:arr.forEach((it ...
- JS循环解决任意日期间的间隔天数
用JS循环解决任意日期间的间隔天数,并求截止日期是周几 y1=1900 m1=1 d1=1 y2=2000 m2=5 d2=3 days=0 ydays=0 mdays=0 ddays=d2-d1 f ...
随机推荐
- Spring boot 2.1.0 -- swagger2 整合
依赖版本信息 Spring boot 2.1.0.RELEASE swagger2 2.7.0 1. mvn 配置 pom.xml 包引入 <!--swagger2依赖--> <d ...
- 响应式有利于SEO还是pc+手机端分开url有利于SEO?
一早上都在查这个问题,大家都来讨论一下. 首先,可以肯定的是,如果公司推广重在谷歌,要做响应式.但是对于百度推广呢??虽然响应式是趋势,但是目前而言,对于百度怎样好呢
- 大家一起做训练 第一场 A Next Test
题目来源:CodeForce #27 A 题目的意思简而言之就是要你输出一个没有出现过的最小的正整数. 题意如此简单明了,做法也很明了. 直接读入所有的数,然后排个序,设置个变量从1开始,出现过+1, ...
- chrom 自带截屏用法
1 . F12调出控制台 2 . Ctrl+Shift+p 3 . 输入capture
- mac OS 安装 scikit-learn
最近用来做实验,使用python时发现scikit-learn提供的库非常好用.因此,在电脑上果断下载安装: step1: sudo easy_install pip step2: sudo pip ...
- python list 去掉重复元素
貌似用遍历最方便. http://www.cnblogs.com/tudas/p/python-delete-duplicate-element-from-list.html
- azkaban:java任务调度系统
github:https://github.com/azkaban/azkaban 官方网站:https://azkaban.github.io/ 好的介绍文章:http://srcct.com/20 ...
- Microsoft Dynamics CRM 2011 批量添加域用户 然后添加CRM用户
一.先了解下 DSADD user命令详解 常见的批量创建用户的方法有四种: 一. 帐户模板的方式 二. CSVDE和LDIFDE 三. 脚本的方式 四. DSADD 但是很少有详细的资料使用DSAD ...
- 【jmeter】jmeter测试手机app的服务器压力
具体步骤: 1.电脑启动jmeter 2.jmeter在测试计划新建线程组. 3.在工作台新建http代理服务器 4.配置HTTP代理服务器 5.设置IE代理到本地 6.手机wifi设置代理连接到PC ...
- 【jmeter】jmeter之-聚合点
集合点:简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点, 还拿那个用户和密码的地方,每到输入用户 ...