非法的表达式开始_轮回、开始还是结束?

上节课说到,要打印0-9这十个数字,除了一个一个的 document.write 还有什么办法?

下面介绍一个for语法

for (var 变量 = 初始值; 结束判断表达式; 变量递增/递减) {      循环体,用于处理变量;}

我们来实操一下

for (var c=0;c<=9;c=c+1) {      document.write(c);}

效果如下:

d3c8e56f7719cbd60c23d4ab028e5a4a.png

我们来解释一下:

for (c=0; c<=9; c=c+1) 意思就是 

开始循环(让变量c从0开始; 一直到c<=9截止; 每循环一次c就加1)

电脑看到 for 就知道接下来是一个循环语句

然后 c=0 ,就是定义一个变量c,其初始值是0

然后判断一下 c 是否 小于等于 9,如果是,就进入循环体,执行相关操作,否则就退出循环,这里 0<=9,所以需要进去执行 document.write(0)

接下来碰到 } 符号表示一轮循环结果,就执行 c= c+1,这个表达式,如果你用数学的思路看,是肯定有问题的, c 怎么可能等于 c + 1 呢?不过你别忘了,这不是数学,符号(=),它的意思也不是“等于”,而是“赋值”,赋值符号左边是变量,右边是值还记得不? 变量 = 值;

那么 c = c + 1 是啥意思呢? 就是把变量 c 中的值拿出来,加个1,再塞回去 c 里面。

我们可以拿现实生活就举例,就相当于,你在一张纸上写了一横,把它扔到了一号宝箱,这个时候宝箱里的是不是一横?然后你把纸从宝箱拿出来,又画了一横,再扔回去宝箱里头,它是不是变成两横了?

所以在这个程序里,第一次循环执行完后, c = c + 1 相当于 c = 0 + 1 ,所以 c = 1 了,它再去和 c<=9 比较,发现 1 <= 9 仍然满足条件,再进去循环体执行

document.write(1)。

整个执行过程,我们一写一下:

//循环开始var c = 0 ;if (c <= 9) {  document.write(c); //这个时候相当于document.write(0) } else {}//第一轮循环结束c = c + 1 ; //  c = 0 + 1   =>  c = 1if (c <= 9) {}//c:

至此整个 for 循环结束。

之前讲 if 的时候就应该提到的一个数据类型,现在也应该讲一下了。

就是那个“条件判断表达式”,它的结果是啥呢?是一个布尔(bool)类型,它只有两个值(true, false)

八卦里你可以用(阴、阳)来表达,成语你可以用“非此即彼”来表示,如果要好理解,你可以“对、错”来理解,主要就是用于“判断类表达式”,大家可以执行下面代码加深理解:

document.write((2>1));    //对:truedocument.write("
"); //换行document.write((1>2)); //错:falsedocument.write("
"); //换行document.write((2==2)); //对:truedocument.write("
"); //换行document.write((3>=2)); //对:truedocument.write("
"); //换行document.write((3<=2)); //错:falsedocument.write("
"); //换行document.write((0==3)); //错:false

结果如下:

e14f6bc798f95c2705d1cdff66591b5c.png

另外 bool 类型,还有几个专用的操作符: &&(并且/and), ||(或者/or), !(非/not),^(异或/xor)

咱们用到再说。

还有就是上头的 c = c + 1,写起来有点烦,程序员的时间很宝贵,懒是宇宙第一生产力,所以发明者说:要不咱们把 c = c + 1 写成 c++ 吧?就这么愉快的决定了。

所以 c++ 只能表达 c= c+1 哈,如果你想一次性+2,那你只能 c= c+2 了,不能写成 “c++++” 的哈, c 每次加1 还有种写法是“++c”两者有啥区别呢,我们可以写几个代码试一下

var x = 1;x++;                         //x = x + 1;   x = 1 + 1;  x = 2document.write(x);  //document.write(2)document.write("
"); //换行++x; //x = x + 1; x = 2 + 1; x = 3document.write(x); //document.write(3)document.write("
"); //换行document.write(x++); //相当于 x = x + 1; document.write(x); //执行完这句话后 x = 2,屏幕也显示2document.write("
"); //换行 document.write(++x); //相当于 x = x + 1; document.write(x); //因为前一次 x++的操作 x变成2了,所以这个时候就           //相当于 x = 2 + 1 = 3; document.write(3);//从上面的代码来看, x++ 和 ++x 是一样的效果//下面来说它俩的区别了

咱们复制到浏览器,看看效果。

34ff082da494fe67725bb4faf0a805c3.png

所以刚才的 for 循环,我们可以简写为:

for (var c=0;c<=9; c++) {      document.write(c);}

另外 for 循环并没有规定说,每次只能加1哈,比如说,我要打印9以内的双数应该怎么做呢?

for (var c=0;c<=9; c=c+2) {      document.write(c);}

这样子就能打印出来:0,2,4,6,8(全是双数)了

fabcdd28112936b8e2d249526340b5d6.png

除了 for 循环,我们还有for in, while 和 do while 循环

for in 一般用于数组或对象:

变量是一个一个的,数组(也是变量,只不过比较特殊)就是一批一批

定义变量的语法是: 变量 = 值;

而定义数组的语法是: 变量 = [ 值1, 值2, 值3, 值4, ……]; 你想放多少放多少

//打印 0,1,2,3,4,5,6,7,8,9for (var c=0;c<10;c++) {      document.write(c);}//点名var persons = ["张三","李四","王麻子"];for (var name inpersons ) {     document.write(name);     document.write("
");}

for in 结果如下:

fb7c96711a044126fa8576eda891846a.png

while 和 do while 用于不知道要循环多少次

while 是先判断,再执行,循环次数最少为 0 次

而 do while 是先执行再判断,循环次数最少为 1 次

//打招呼程序,接受用户输入姓名,并打印出 某某你好//如果用户输入的是  exit ,就退出循环while (text!="exit") {var text = prompt("请输入您的姓名");  document.write(text);  document.write("你好")  document.write("
"); //换行 text = prompt("请输入您的姓名");}//如果一开始

结果如下:

0bc0d33a9d2c24ed609aa34b0edcdfe0.gif
//较验用户输入姓名,如果用户输入为空//就一直让他输入,直到不为空为止var text = "";do {  text = prompt("请输入姓名:");} while(text==null || text == "")   //用户没有输入内容,却点了“确定”,text=""//用户点了"取消", text=null  alert(text + "你好");    //alert函数可以弹出一个对话框
5d854ea58f557de22d1330091e411b02.gif

今天就到这儿吧,最后送上九九乘法表的程序(直接输代码,好像会丢,可能有非法字符?),大家手打一遍印象更深。

5e725a50f026e2dfe4b3a3351ba02885.png

结果如下:

823d644c387477b4d1b0f91edd65eec4.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql 统计记录条数后 打印出所有记录_用SQL完成购买行为分析(下篇II)

&#xff08;接《用SQL完成购买行为分析&#xff08;下篇I&#xff09;》内容&#xff09;12&#xff09;查询首条记录为fav&#xff0c;总记录条数为14的记录。将前面getNum(3)红框处替换为12&#xff0c;运行getNum(14)得到第2条记录的数量&#xff1a;替换为11&#xff0c;得…

library的英语怎么读音_library怎么读声音

library的英式读音和美式读音均为&#xff1a;[ˈlaɪbrəri]。library可作名词&#xff0c;其作名词时&#xff0c;中文意思有&#xff1a;图书馆&#xff1b;藏书楼&#xff1b;图书室&#xff1b;资料室&#xff1b;(书、激光唱片等的)个人收藏等含义。一、library 读音英式…

sift线特征提取代码_车道线检测LaneNet

LanNetSegmentation branch完成语义分割,即判断出像素属于车道or背景Embedding branch完成像素的向量表示,用于后续聚类,以完成实例分割H-NetSegmentation branch解决样本分布不均衡车道线像素远小于背景像素.loss函数的设计对不同像素赋给不同权重,降低背景权重.该分支的输出为…

mysql ehcache_MyBatis使用Ehcache作为二级缓存

特别说明&#xff1a;由于二级缓存是基于Mapper的&#xff0c;当你在不同的mapper中查询了相同的数据&#xff0c;例如不同的Mapper中有多表查询时结果中有相同的数据&#xff0c;当其中一个Mapper进行插入更新缓存时&#xff0c;另一个并没有插入更新&#xff0c;那么使用两个…

yii3正式版什么时候发布_华为mate50pro什么时候发布

阅读本文前&#xff0c;请您先点击上面的蓝色字体&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到文章了。每天都有分享&#xff0c;完全是免费订阅&#xff0c;请放心关注。 …

shiro如何保证session不失效_请问在不加锁的情况下如何保证线程安全?

概念compare and swap&#xff0c;解决多线程并行情况下使用锁造成性能损耗的一种机制&#xff0c;CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配&#xff0c;那么处理器会自动将该位置值更新为新值。否则&#xff0c;处理器…

externalreferences 命令在 sdi 模式下不可用_一个适合新手交互式Git命令学习项目

前言在我们日常工作开发中&#xff0c;Git是必不可少的版本控制软件&#xff0c;很多时候我们都用Git来管理我们的项目。比较常用的有Github&#xff0c;Gitlab&#xff0c;Stash等。因此对于Git命令的掌握是我们工作必备的能力。今天分享一个Git命令学习项目&#xff1a;learn…

sqlyong 删除数据能否撤回_数据结构知识点总结

some quoted by Fundebug&#xff1a;代码面试需要知道的8种数据结构(附面试题及答案链接)​zhuanlan.zhihu.comadded with other sources8 种常用数据结构数组栈队列链表图树哈希表priorityqueue1. 数组数组(Array)大概是最简单&#xff0c;也是最常用的数据结构了。其他数据结…

matlab 点云特征_基于点云的3D障碍物检测

击上方“新机器视觉”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达基于点云的3D障碍物检测主要有以下步骤&#xff1a;点云数据的处理基于点云的障碍物分割障碍物边框构建点云到图像平面的投影点云数据的处理KITTI数据集KITTI数据集有四个相…

重定义 不同的基类型_镍及铁镍基耐蚀合金高温合金哈氏合金镍基合金之第一篇概述...

纯镍是一种重要的应用于工业的原材料&#xff0c;它除具有良好 的强度、塑韧性外&#xff0c;在卤族元素及其氢化物活泼性气体、苛 性介质、不含氧和氧化剂的还原性酸介质中还具有良好的耐 蚀性&#xff0c;因此纯镍作为耐蚀金属材料得到广泛应用。此外&#xff0c;由 于提高耐…

cad统计面积长度插件vlx_用了它,画cad施工图再也不加班了!

文尾左下角阅读原文看视频教程好课推荐&#xff1a;1、CAD2014&#xff1a;点击查看 2、室内CAD&#xff1a;点击查看 3、CAD2019&#xff1a;点击查看4、CAD2018&#xff1a;点击查看5、Bim教程&#xff1a;点击查看6、室内手绘&#xff1a;点击查看7、CAD三维&#xff1a;点击…

mysql 视图 查询速度慢_mysql 视图查询速度慢

场景&#xff1a;表 stockpooldata_flashCREATE TABLE stockpooldata_flash (id bigint(15) NOT NULL AUTO_INCREMENT,formula_id int(8) DEFAULT NULL,period_type tinyint(3) DEFAULT NULL,gpMarket int(4) DEFAULT NULL,gpcode varchar(20) DEFAULT NULL,ymd int(11) DEFAUL…

局部页面切换url为什么不变_python爬虫 - 翻页url不变网页的爬虫探究

python爬虫-翻页url不变网页的爬虫探究url随着翻页改变的爬虫已经有非常多教程啦&#xff0c;这里主要记录一下我对翻页url不变网页的探究过程。学术菜鸡第一次写CSDN&#xff0c;请大家多多包容&#xff5e; 如果对你有一点点帮助&#xff0c;请帮我点个赞吧&#xff01;翻页u…

python波峰波谷算法_波动均分算法

波动均分算法by leeenx on 2018-01-11「波动」和「均分」大部分读者朋友是知道的&#xff0c;但看到「波动均分」应该是一头雾水的。其实&#xff0c;这个名词是笔者拼凑出来的。什么是「波动均分」&#xff1f;把指定的数值 A&#xff0c;分成 N 份&#xff0c;此时每份的数值…

java web 注册登录_javaweb实现登录注册功能实例

前期呢&#xff0c;我们学习了javaweb项目用JDBC连接数据库&#xff0c;还有数据库的建表功能&#xff0c;今天&#xff0c;我们来看一下javaweb实现登录注册功能实例&#xff0c;javaweb项目使用的工具是eclipse&#xff0c;最后把项目部署在了Tomcat中&#xff0c;连接数据库…

source insight 函数不能跳到definition_小技能: Windows10突然不能复制粘贴谁搞鬼

最近连续遇到几次&#xff0c;电脑突然不能复制粘贴了&#xff0c;非常影响工作。(如果不想听我扯&#xff0c;就直接跳到最后看结果啊&#xff0c;我真贴心。)你们都懂得&#xff0c;程序员嘛&#xff0c;用的最多的就是ctrlc&#xff0c;ctrlv。这不能用了&#xff0c;不是让…

hsv 明度的范围_通过HSV转换的方式实现图片数据增强

在我的上一篇文章中&#xff0c;我记录了自己将MOT17-Det数据集转换成VOC格式&#xff1a;HUST小菜鸡&#xff1a;将MOT17-Det数据集转成VOC格式​zhuanlan.zhihu.com但是在后期的测试过程中&#xff0c;发现了一些小问题&#xff1a;首先是train.txt里面写入的图片数和标注的数…

java protected关键字_Java 权限protected关键字纠正

以前一直认为自己理解了Java四种权限访问&#xff0c;昨天突然编程时发现protected居然在子类中不能调用&#xff0c;然后越看越迷糊&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;public&#xff1a; Java语言中访问限制最宽的修饰符&#xff0c;…

互联网java常用框架_来,带你鸟瞰 Java 中4款常用的并发框架!

1. 为什么要写这篇文章几年前 NoSQL 开始流行的时候&#xff0c;像其他团队一样&#xff0c;我们的团队也热衷于令人兴奋的新东西&#xff0c;并且计划替换一个应用程序的数据库。 但是&#xff0c;当深入实现细节时&#xff0c;我们想起了一位智者曾经说过的话&#xff1a;“细…

2020亚太杯数学建模_比赛 | 2020年APMCM亚太地区大学生数学建模竞赛

2020年11月26日到30日&#xff0c;在我院老师指导下&#xff0c;由统计分析竞赛社组织的41支队伍&#xff0c;共123人&#xff0c;参加了亚太地区大学生数学建模竞赛组委会主办的大学生学科类竞赛。此次竞赛题目分为A题和B题&#xff0c;参赛者需从A&#xff0c;B两题中任选其一…