JavaScript进阶(三)
|
现在来说说判断语句(if)
if语句是基于条件成立才执行相应代码时使用的语句。 语法: if(条件) {条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位,如果你会html技术,你面试成功,欢迎加入公司 代码表示如下: <script type="text/javascript"> var mycarrer="HTML"; if(mycarrer == "HTML") { document.write("你面试成功,欢迎加入公司!"); } </script> 那么二选一的方法怎么弄呢?就是if...else if...else语句是在指定的条件成立时执行代码,在条件不成立时执行else后的代码 语法: if(条件) {条件成立时执行的代码} else {条件不成立时执行的代码} 假设你应聘web前端技术开发岗位,如果你会HTML技术,你面试成功,欢迎加入公司 否则你面试不成功,不能加入公司。 代码演示如下: <script type="text/javascript"> var mycarrer="HTML";//mycarrer变量存储技能 if(mycarrer == "HTML") {document.write("你面试成功,欢迎加入公司。")} else {document.write("你面试不成功,不能加入公司。")} </script> 要在多组语句中选择一组来执行,使用if...else嵌套语句。 语法: if(条件1) {条件1成立时执行的代码} else if(条件2) {条件2成立时执行的代码} ... else if(条件n) {条件n成立时执行的代码} else (条件1、2至n不成立时执行的代码) 假设数学考试,小明考试86分,给他做个评价,60分以下的不及格,60(包含60) -75分为良好,75(包含75)-85为很好,85(包含85)-100优秀。 代码如下: <script type="text/javascript"> var score=86; if(score<60){ document.write("成绩不及格") }else if(score<75){ document.write("成绩良好") }else if(score<85){ doucment.write("成绩很好") }else{ document.write("成绩优秀") } </scripe> 当有很多选择的时候,switch比if else方便 语法: switch(表达式) { case值1; 执行代码块1 break; case值2; 执行代码块2 break; ... case值n; 执行代码块n break; dafault: 与case值1、case值2...case值n不同时执行的代码 } 语法说明: switch必须赋初始值,值与每个case值匹配。满足执行该case后的所有语句,并用 break语句来阻止运行下一个case。如所有case值都不匹配,执行default后的语句。 假设评价学生考试成绩,10分满分制,我们按照每一分一个等级将成绩分等,并根 据成绩的等级做出不同的评价。 代码如下: <script type="text/javascript"> var myscore=6;//myscore变量存储分数,假设为6 switch(myscore)//switch实现判断,case 6匹配 { case 0: case 1: case 2: case 3: case 4: case 5: degree="继续努力"; document.write("评语"+degree+"<br>"); break; case 6: degree="及格,加油!"; document.write("评语"+degree+"<br>"); break; case 7: degree="凑合,奋进!"; document.write("评语"+degree+"<br>"); break; case 8: degree="很棒"; document.write("评语"+degree+"<br>"); break; case 9: case 10: degree="高手,大牛!"; document.write("评语"+degree+"<br>"); } </script> 很多事情不只是做一次,需要重复做。如打印十份试卷,每次打印一份,重复这个 动作,直到打印完成。这些事情,我们使用循环语句来完成,循环语句,就是重复 执行一段代码。 for语句结构: for(初始化变量;循环条件;循环迭代) { 循环语句 } 假如一个盒子里面有六个球,我们每次取一个,重复从盒中取出球,直到球取完为止。 <script type="text/javascript"> var num=1; for(num=1;num<=6;num++)//初始化值,循环条件,循环后条件值更新 { document.write("取出第"+num+"个球<br/>") } </script> 这里详细解释一下执行的思路,帮助大家理解: 第一次: 初始化:num=1 判断:num<=6 输出:取出第1个球 条件值更新:num++(num=num+1,num值为2) 第二次: 判断:num<=6(因为第一次执行后num的值为2,判断2<=6,条件为真) 输出:取出第2个球 条件值更新:num++(num=num+1,num值为3) 第三次: 判断:num<=6(因为第二次执行后num的值为3,判断3<=6,条件为真) 输出:取出第3个球 条件值更新:num++(num=num+1,num值为4) 第四次、第五次、//中间一样 第六次:num<=6(因为第五次执行后num的值为6,判断6<=6,条件为真) 输出:取出第6个球 条件值更新:num++(num=num+1,num值为7) 第七次:num<=6(因为第六次执行后num的值为7,判断7<=6,条件为假,所以不再 执行输出语句,结束for循环。) 和for循环有相同功能的还有while循环,while循环重复执行一段代码,直到某个 条件不再满足。 while语句结构: while(判断条件){ 循环语句 } 使用while循环,完成从盒子里取球的动作,每次取一个,共6个球。 <script type="text/javascript"> var num=0;//初始化值 while(num<=6)//条件判断 { document.write("取出第"+num+"个球<br/>"); num=num+1;//条件值更新 } </script> do while结构的基本原理和while结构是基本相同的,但是它保证循环体至少被执 行一次。因为它是先执行代码,后判断条件,如果条件为真,继续循环。 do...while语句结构: do { 循环语句 } while(判断条件) 我们试着输出5个数字。 <script type="text/javascript"> num=1; do { document.write("数值为:"+num+"<br/>"); num++;//更新条件 } while(num<=5) </script> 第一次: 输出:数值为1 条件值更新:num++(num=num+1,num值为2) 判断num<=5(num值为2,判断2<=5,条件为真,进行do循环) 第二次,第三次,第四次都一样 第五次: 输出:数值为5 条件值更新:num++(num=num+1,num值为6) 判断num<=5(num值为6,所以判断6<=5,条件为假,不在循环) ps:我承认我偷懒了。刚刚打了一大段,结果因为没保存。。呵呵哒了。各位一定记 住及时保存这个问题!!! 在while for do...while while循环中使用break语句退出当前循环,直接执行后面 的代码。 格式如下: for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) {break;} 循环代码 } 当遇到特殊情况的时候,循环就会立即结束。看看下面的例子,输出十个数,如果 数值为5,就停止输出。 <script type="text/javascript"> var num; for(num=1;num<=10;num++) { if(num==5) { break;//如果num是5,退出循环 } document.write("数值"+num+"<br/>") } </script> continue的作用是仅仅跳过本次循环,而整个循环体继续执行。 语句结构: for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) {continue;} 循环代码 } 上面的循环中,当特殊情况发生的时候,本次循环将被跳过,而后续的循环则不会 受到影响。好比输出10个数字,如果数字为5就不输出了。 <script type="text/javascript"> var num; for(num=1;num<=10;num++) { if(num==5) { continue; } document.write("数值"+num+"<br/>") } </script> 注意:上面的代码中,num=5的那次循环将被跳过。 做个练习: 在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名、性别、年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦。 学生信息如下: ('小A','女',21,'大一'), ('小B','男',23,'大三'),
('小C','男',24,'大四'), ('小D','女',21,'大一'),
('小E','女',22,'大四'), ('小F','男',21,'大一'),
('小G','女',22,'大二'), ('小H','女',20,'大三'),
('小I','女',20,'大一'),
('小J','男',20,'大三') 代码在评论中我会贴出来。 <!DOCTYPE HTML> |
JavaScript进阶(三)的更多相关文章
- JavaScript进阶(三) 值传递和引用传递
从C语言开始 有时候讲一些细节或是底层的东西,我喜欢用C语言来讲,因为用C更方便来描述内存里面的东西.先举一个例子,swap函数,相信有一些编程经验的人都见识过,声明如下,函数体我就不写了,各位脑补一 ...
- JavaScript进阶(三)常见工具(校验、通用)
JS常见工具(校验.通用) // 姓名校验 var checkName = function(name) { // 收货人姓名校验(准则:姓名为2-4汉字) var regu = /^[\u4E00- ...
- javascript进阶课程--第三章--匿名函数和闭包
javascript进阶课程--第三章--匿名函数和闭包 一.总结 二.学习要点 掌握匿名函数和闭包的应用 三.匿名函数和闭包 匿名函数 没有函数名字的函数 单独的匿名函数是无法运行和调用的 可以把匿 ...
- javascript进阶教程第三章--匿名和闭包--案例实战
javascript进阶教程第三章--匿名和闭包--案例实战 一.学习任务 通过几个小练习回顾学过的知识点 二.实例 练习1: 实例描述:打开页面后规定时间内弹出一个新窗口,新窗口指定时间后自动关闭. ...
- 4、JavaScript进阶篇①——基础语法
一.认识JS 你知道吗,Web前端开发师需要掌握什么技术?也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HTML+CSS创建一个漂亮的页面,但这还不够,它只是静态页面 ...
- JavaScript 进阶(一)JS的"多线程"
这个系列的文章名为“JavaScript 进阶”,内容涉及JS中容易忽略但是很有用的,偏JS底层的,以及复杂项目中的JS的实践.主要来源于我几年的开发过程中遇到的问题.小弟第一次写博客,写的不好的地方 ...
- JavaScript进阶系列05,事件的执行时机, 使用addEventListener为元素同时注册多个事件,事件参数
本篇体验JavaScript事件的基本面,包括: ■ 事件必须在页面元素加载之后起效■ 点击事件的一个简单例子■ 为元素注册多个点击事件■ 获取事件参数 ■ 跨浏览器事件处理 □ 事件必须在页面元素加 ...
- JavaScript进阶--慕课网学习笔记
JAVASCRIPT—进阶篇 给变量取个名字(变量命名) 变量名字可以任意取,只不过取名字要遵循一些规则: 1.必须以字母.下划线或美元符号开头,后面可以跟字 ...
- JavaScript进阶 - 第1章 系好安全带,准备启航
第1章 系好安全带,准备启航 1-1让你认识JS 你知道吗,Web前端开发师需要掌握什么技术?也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HTML+CSS创建一个漂 ...
- javascript进阶课程--第一章--函数
javascript进阶课程--第一章--函数 学习要点 了解内存管理 掌握全局函数的使用 知识点 基本类型和引用类型 基本类型值有:undefined,NUll,Boolean,Number和Str ...
随机推荐
- 曲演杂坛--一条DELETE引发的思考
原文:曲演杂坛--一条DELETE引发的思考 场景介绍: 我们有一张表,专门用来生成自增ID供业务使用,表结构如下: CREATE TABLE TB001 ( ID ,) PRIMARY KEY, D ...
- 读书笔记—CLR via C#异常和状态管理
前言 这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可 ...
- WinFrom打开一个窗体关闭另一个窗体
在写Winform程序的时候,经常会遇到“打开一个新的窗体然后关闭本窗体”之类的问题.最常见的就是登陆界面和主窗体了.而最常见的处理方法就是表单判断正确后 new MainForm().Show(); ...
- KMP算法简单回顾
前言 虽从事企业应用的设计与开发,闲暇之时,还是偶尔涉猎数学和算法的东西,本篇根据个人角度来写一点关于KMP串匹配的东西,一方面向伟人致敬,另一方面也是练练手,头脑风暴.我在自娱自乐,路过的朋友别太认 ...
- Java 感知Mysql存储过程变量数量
在项目中,可能会遇到sybase 移植到 mysql的情况,因为sybase 支持存储过程的可变参数,而mysql不能支持,所以,在调用mysql的时候,需要感知存储过程到底有几个参数,来合理的配置参 ...
- Javascript技巧实例精选(3)—用字符在屏幕上打印金字塔
用Javascript实现用★字符在屏幕上打印金字塔 >>点击这里下载完整html源码<< 这是最后的截图 这是相应的Javascript源码 //动态创建表格 var s=' ...
- Ubuntu下的截图工具
转载自:http://os.yesky.com/88/8733088.shtml 相信大家对于屏幕截图(或称抓图)应该不会陌生,在Windows平台上,我们可以使用许多第三方的专业抓图软件如SnagI ...
- boost------signals2的使用2(Boost程序库完全开发指南)读书笔记
1.应用于观察者模式 本小节将使用signals2开发一个完整的观察者模式示例程序,用来演示信号/插槽的用法.这个程序将模拟一个日常生活场景:客人按门铃,门铃响,护士开门,婴儿哭闹. Ring.h: ...
- 一个小团队TDD游戏及实践
介绍的这个游戏是自己根据目前带的团队的实际情况来制定的, 在游戏实践过程中,收到了较好的效果,故打算把这个游戏分享出来,一是分享一下实践,而是集思广益,不断完善,更好的利用游戏来锻炼队伍.下面就将游戏 ...
- js模版引擎handlebars.js实用教程
js模版引擎handlebars.js实用教程 阅读本文需要了解基本的Handlebars.js概念,本文并不是Handlebars.js基础教程,而是注重于实际应用,为读者阐述使用过程中可能会遇到的 ...