Web初学-2022.12.03-12.09
第七周笔记
18.运算符的优先级(K26)
1.,
运算符
1)使用,
可以分割多个语句,一般可以在声明多个变量时使用
<script>var a = 1 , b = 2 , c = 3;alert(b);</script>
2.优先级
1)若优先级相同,则从左往右计算
2)实际上可以使用()
改变优先级
19.语句(K27)
1.内容:
1)程序由一条一条语句构成
2)语句是按照自上至下的顺序一条条执行的
3)在JS中,可以使用{}来为语句分组
4)同一个{}中的语句我们称为是一组语句,要么都执行,要么都不执行
5)一个{}中的语句我们也称为一个代码块
6)JS中的代码块只具有分组作用
20.流程控制语句(K28-K32)
1.条件判断语句:在执行某个语句之前进行判断,只有条件成立才执行
if语句
1)语法一
if(条件表达式)
语句
注:if语句在执行时,会先对条件表达式进行求值判断
如果条件表达式的值为true,则执行if后的语句
如果条件表达式的值为false,则不会执行if后的语句
if语句只能控制紧随其后的那个语句,可使用代码块使其捆绑
在开发中尽量写代码块
<script>var a = 5;if(a > 3)alert("你有4块源石锭(你是懂坎诺特的QAQ)")</script>
<script>var a = 2;if(a > 3)alert("你有4块源石锭(你是懂坎诺特的QAQ)");alert("你欺骗了坎诺特!!!");</script>
<script>var a = 8;if(a > 3 && a < 10){alert("你的财富不足以打动坎诺特,但我们可以做笔小生意");}//alert("你欺骗了坎诺特!!!");</script>
2.条件分支语句(if…else…语句)
if(条件表达式){
语句…
}else{
语句…
}
注:当该语句执行时,会先对if后的条件表达式进行求值判断
如果条件表达式的值为true,则执行if后的语句
如果条件表达式的值为false,则执行else后的语句
<script>var intellect = 66;if(intellect >= 70){alert("想和萨卡兹姑娘共舞吗");}else{alert("来和萨卡兹大姑娘共舞吧!(岩崩锤!)");}</script>
3.循环语句(if…else if…else)
if(条件表达式){
语句…
}else if(条件表达式){
语句…
}else if(条件表达式){
语句…
}else{
语句…
}
注:当该语句执行时,会从上到下依次对条件表达式进行求值判断
如果条件表达式的值为true,则执行当前语句
如果条件表达式的值为false,则继续向下判断
如果所有条件都不满足,则执行最后一个else
该语句中,只有一个代码块被运行,一旦代码执行,则直接结束语句
<script>var intellect = 66;if(intellect > 133){alert("整两把作战记录");}else if(intellect > 70){alert("正好摸两把保全派驻");}else if(intellect > 25){alert("肘!嚯嚯弑君者");}else{alert("啊♂!理想的摸鱼时间,来肉鸽!");}</script>
4.提示文本框
1)形式:prompt(“XXX”);
2)代入if else:var X = prompt(“XXX”);
21.条件分支语句(K33-K34)
1.条件分支(又名Switch语句)
原:
<script>var num = 3;if(num == 1){console.log("壹");}else if(num == 2){console.log("贰");}else if(num == 3){console.log("叁");}</script>
1)语法:
switch(条件表达式){
case 表达式 :
语句…
break;
case 表达式 :
语句…
break;
case 表达式 :
语句…
break;
case 表达式 :
语句…
break;
default:
语句…
break;
}
变:
<script>num = 1;switch(num){case 1:console.log("壹");break;case 2:console.log("贰");break;case 1:console.log("叁");break;default:console.log("非法数字")break;}</script>
注:switch…case…语句
执行时会依次将case后的表达式与switch后的条件表达式的值进行全等比较
如果比较结果true,则从当前case处开始执行代码,当前及后的所有都会执行
如果比较结果为false,则继续向下比较
使用break可以用来退出switch的结构
若所有结果为false,则只执行default后的语句
switch和if都可以互用
22.while循环(K35-K36)
1.while循环:向页面内输出连续的数字
环境1:
<script>var n = 1;document.write(n++ +"<br />");document.write(n++ +"<br />");document.write(n++ +"<br />");document.write(n++ +"<br />");document.write(n++ +"<br />");</script>
环境2:
<script>var n = 1;while(true){alert(n++);}</script>
环境3:
<script>var n = 1;while(true){alert(n++);if(n == 10){break;}}</script>
1)语法:
while(条件表达式){
语句…
}
2)详细语法:
a.创初始化一个变量
var i = 0;
b.在循环中创建一个条件表达式
while(i < 10){
alert(i);
c.定义一个更新表达式,每次更新初始化变量
i++;
}
注:在对条件表达式进行求值判断,如果值为true,则执行循环体
循环体执行完毕后,继续对表达式进行判断
如果为true,则继续执行循环体,以此类推
如果为false,则终止循环
死循环不会停止,除非浏览器关闭,不推荐
break可终止
2.do…while循环
1)语法:
do{
语句…
}while(条件表达式)
<script>var i = 1;do{document.write(i++ +"<br />");}while(i <= 10);</script>
注.执行流程:do…while语句在执行时,会先执行循环体
循环体执行完毕后,再对while后的条件进行判断
如果为true,则继续执行循环体,执行完毕继续判断,以此类推
如果为false,则终止循环
注:实际上这两个语句功能类似,while先判断后执行,do…while先执行后判断
do…while可以保证循环体至少执行一次,而while不能
3.小练习
<script>var money = 1000;var count = 0;while(money < 5000){money *=1.05;count++;}console.log("一共需要"+count+"年");</script>
tips:输出运算次数+循环
while+if实现退回重新输入
23.for循环语句(K37-K40)
1.结构:在for循环中,为我们提供了专门的位置放置初始化表达式、条件表达式、更新表达式
2.语法
for(初始化表达式;条件表达式;更新表达式){
语句…
}
<script>for(var i = 0 ; i < 10 ; i++){alert(i);}</script>
1)执行流程:
a.执行初始化表达式,初始化变量(初始化表达式只会执行一次)
b.执行条件表达式,判断是否循环;true循环,false终止循环
c.执行更新表达式,更新表达式执行完毕,继续重复执行b.
注:for循环中的三个部分都可以省略,也可以写在外部
如果在for循环中不写如何表达式,只写两个;,死循环,一直执行
3.小练习1.0(100内7的倍数)
<script>var sum = 0;for(var i = 1; i<=100;i++){if(i % 7 == 0){sum += i;}}console.log("总和为:"+sum);</script>
<script>var sum = 0;var count = 0;for(var i = 1; i<=100;i++){if(i % 7 == 0){sum += i;count++;}}console.log("总和为:"+sum);console.log("总数量为:"+count);</script>
3.小练习2.0(质数残次版)
<script>var num = prompt("请输入一个大于1的整数");if(num <= 1){alert("该值不合法!");}else{var flag = true;for(var i = 2; i < num; i++){if(num % i == 0){flag = false;}}if(flag){alert(num + "是质数");}else{alert("这个不是质数");}}</script>
24.嵌套的for循环(K41-K44)
1.输出*嵌合号图形
tips: 向script中的body中输出一个内容:document.write(“ * ”);
<script>for(var i = 0; i < 5; i++){//外部执行一次for(var j = 0; j < 3; j++ ){//内部执行五次,可以决定图形的宽度document.write("* ");}document.write("<br />");//外部换行,防止内部一循环一换}</script>
<script>for(var i = 0; i < 5; i++){//外部执行一次for(var j = 0; j < i + 1; j++ ){//内部执行五次,可以决定图形的宽度document.write("* ");}document.write("<br />");//外部换行,防止内部一循环一换}</script>
<script>for(var i = 0; i < 5; i++){//外部执行一次for(var j = 0; j < 5 - i; j++ ){//内部执行五次,可以决定图形的宽度document.write("* ");}document.write("<br />");//外部换行,防止内部一循环一换}</script>
2.打印9*9乘法表
<script>for(var i = 1; i <= 9; i++){//创建一个内层循环控制图形的宽度for(var j = 1; j <= i; j++){document.write(j +"*"+ i +"="+ i * j +" " +" ");}document.write("<br />");}</script>
优化:
<script>for(var i = 1; i <= 9; i++){//创建一个内层循环控制图形的宽度for(var j = 1; j <= i; j++){document.write("<span>" + j +"*"+ i +"="+ i * j +" " +" " + "</span>");}document.write("<br />");}</script><style>span{display: inline-block;width: 85px;}</style>
3.打印2 - 100之间的所有质数
<script>for( var i = 2; i <= 100; i++){//创建一个布尔值,来保存结果,默认i是质数var flag = true;//判断i是否为质数,获取到2 - i之间的所有数for( var j = 2; j < i; j++){//判断i是否能被j整除if(i % j == 0){//如果加入判断,则证明i不是质数,修改flag值为falseflag = false;}}//如果是质数,则打印i的值if(flag){console.log(i);}}</script>
25.break和continue(K45)
不能在if语句中使用break和continue
1.break关键字可以用来退出switch或循环语句
原:
<script>for(var i = 0; i < 5; i++){console.log(i);}</script>
加入break:
<script>for(var i = 0; i < 5; i++){console.log(i);break;}</script>
<script>for(var i = 0; i < 5; i++){console.log(i);if(i == 2){break;}}</script>
注:break关键值字,会立即终止离他最近的那个循环语句
tips: 可使用label
为循环语句命名,在break后面跟一个label
break将结束指定的循环,而不是最近的
2.continue
<script>for(var i = 0; i < 5; i++){if(i == 2){continue;}console.log(i);}</script>
注:continue关键字可以用来跳过当次循环,默认对最近循环起作用,可加label
3.小练习(质数补充,貌似提升了性能)
<script>for( var i = 2; i <= 100; i++){var flag = true;for( var j = 2; j < i; j++){if(i % j == 0){flag = false;//一旦进入判断,则证明i不可能是质数了,此时循环再执行已经没有任何意义了//使用break来结束循环break;}}if(flag){console.log(i);}}</script>
tips: 可以用console.time(“XXX”)开启一个计时器
性能测试:
前:
<script>//测试程序性能//在程序执行前,开启计时器//需要一个字符作为参数,该字符将成为计时器的标识console.time("test");for( var i = 2; i <= 100; i++){var flag = true;for( var j = 2; j < i; j++){if(i % j == 0){flag = false;//一旦进入判断,则证明i不可能是质数了,此时循环再执行已经没有任何意义了//使用break来结束循环//break;}}if(flag){console.log(i);}}//终止计时器console.timeEnd("test");</script>
后:
<script>//测试程序性能//在程序执行前,开启计时器//需要一个字符作为参数,该字符将成为计时器的标识console.time("test");for( var i = 2; i <= 100; i++){var flag = true;for( var j = 2; j < i; j++){if(i % j == 0){flag = false;//一旦进入判断,则证明i不可能是质数了,此时循环再执行已经没有任何意义了//使用break来结束循环break;}}if(flag){console.log(i);}}//终止计时器console.timeEnd("test");</script>
Web初学-2022.12.03-12.09相关推荐
- Web初学-2022.10.15-21
第一周笔记 一.第一集笔记 1.1 HTML.CSS系列教程内容导学 1.HTML+CSS系列教程①之拨云见日 2.HTML+CSS系列教程②之溯本求源 3.HTML+CSS系列教 ...
- Web初学-2022.11.19-11.25
第五周笔记(自62开始HTML5) 51.strong和b.em和i(K112) strong和em都是表示强调的标签,表现形态为文本加粗和斜体. b和i标签同样也表示文本加粗和斜体 形如: < ...
- Web初学-2022.11.6-12.02
第六周笔记(JavaScript简介) 1.简介(K1) 1.起源:JavaScript诞生于1995年,主要处理网页中的前端验证检查用户输入内容 前端验证;检查用户输入内容是否符 ...
- Web初学-2022.10.28-11.5
第三周笔记 35.CSS选择器(K44-51) 1.ID 选择器 a.css:#elem{} html:id="elem"(快捷div:div+ ...
- Web Wiz Forums 12.03 ASP论坛程序源码
Web Wiz Forums是一套相当不错的免费ASP论坛程序,作者来自于英国,无论您想架设10个人或者大到100000人的强大技术支持论坛,这个快速.可设置管理权限等级的论坛程序,都足以满足您的需求 ...
- 7-4 房产税费计算2022(分数 12)
7-4 房产税费计算2022(分数 12) 作者 蔡轲 单位 南昌航空大学 房屋交易在日常生活中非常常见的事情,房屋交易时要额外支付各种税费,按2022年房产交易新政策的规定买房人应缴纳税费包括: 1 ...
- 21.11.19 贝卡 宝贝制造者 类星体(手雷) 21.11.26 卢西恩的召唤 惊雷AAA 永田(手雷) 21.12.03 绝对征服 嗜血野兽 传输(手雷) 21.
21.11.19 贝卡 宝贝制造者 类星体(手雷) 21.11.26 卢西恩的召唤 惊雷AAA 永田(手雷) 21.12.03 绝对征服 嗜血野兽 传输(手雷) 21.12.10 垂死之息 某人的财产 ...
- Daily Scrum02 12.03
Daily Scrum03 12.03 一天过去了,新的一天即将到来,我们组仍旧干劲十足呢~ Member Today's Task Tomorrow's Task 李孟 孟神有点累了呢 task85 ...
- 农村科学实验杂志农村科学实验杂志社农村科学实验编辑部2022年第12期目录
农村科学实验杂志农村科学实验杂志社农村科学实验编辑部2022年第12期目录 黑土地上书写"优粮"答卷--吉林省新农业发展纪实 (1) 吉林梨树县农技推广总站站长王贵满--& ...
最新文章
- [转]slf4j + log4j原理实现及源码分析
- OpenCV+python:模糊操作
- NeurIPS 2020 | 清华大学提出:通用、高效的神经网络自适应推理框架
- 关于ORA-06508 , ORA-04068异常的详细说明
- 第二百五十三节,Bootstrap项目实战-资讯
- 即时通讯的企业应用和个人应用的区别
- SpringCloud工作笔记103---Mybatis-plus使用注解 @TableField(exist = false) 注明非数据库字段属性
- 再次测试用OLW本地的桌面应用撰写博客园博文
- java自动生成函数注释_IDEA类和方法注释自动生成(2019-08-31 21:47写)
- php 跨域请求 header 头
- SolidWorks迈迪轴生成器使用注意事项
- 树莓派之安装Vulkan
- 三小时学会css(菜鸟教程精华版)【中】
- codeforces上的名字颜色和codeforces打比赛转载
- sFlow的安装和使用
- WLAN旁挂组网二层直连
- centos 7.x 更改 ipv6、numa、thp、io scheduler
- K线技术指标实现详解—筹码分布
- 通达信头肩底形态选股公式,突破波峰发出信号
- php怎么修改文件的内容,PHP问题:php如何修改文件内容
热门文章
- JS获取当前时间方法
- 苹果服务器响应很慢,苹果6用了一年多了,现在响应速度特别慢,有什么办法可解决...
- WIN10更新后指纹登录失效的解决办法
- 【汇编语言】32位汇编总结
- 计算机专业生物信息学方向怎么样,2019年生物信息学本科专业怎么样?
- 卸载掉mac上安装的linux,安装及卸载CrossOver for Mac
- Openlayers记录(四)同一图层设置不同的点符号(大小、颜色等)。
- 细谈静态类和实例类的区别
- 王者荣耀改名微信小程序源码 改空白名,重复名,符号名
- java如何解析nmon数据,Nmon结果文件分析