记JavaScript的入门学习(三)
2016.12.6晚上十点半完成JavaScript的第二章学习,看了点第三章的开头总述,都说原生js每一个知识点都可以分分钟钟让你放弃,而我在努力探索着。月末的时候就回家放假了,希望在家也可以有个小小的练习,开学来的时候可以把js过一遍,啊还有jQuery呢!!!
三、判断、循环和函数(检查用户输入的有效性)
3.1 选择语句——if语句和swith语句(程序具有一定的逻辑判断能力)
3.1.1 如下代码:(将条件表达式的结果赋值给变量)

3.1.2 if语句 “如果室内温度超过华氏80°,就打开空调”,
类似代码: if (roomTemperature > 80) {roomTemperature = roomTemperature - 10;}
代码块里仅有一条语句,也可以把大括号省略改为: if (roomTemperature > 80) roomTemperature = roomTemperature - 10;

必须将判断条件置于if关键字之后的圆括号里,并不在结尾处加分号。
大括号在js中有着特别的用途,表示用大括号括起来的多条语句是一个代码块,js把代码块视为一条语句。但是当条件语句表达式为true时,如果需要执行多条语句,则应该使用大括号将这些语句括起来,组成一个代码块。
如下也可这样改:

当条件为true时,执行整个代码块,且当条件为true时,执行整个代码块。但是由于忘记使用大括号此时条件为true时,紧随if的条件表达式之后的下一条语句将被执行。但是,无论if的条件判断是true还是false,其它代码行总是被执行。为了避免这样的错误,即使只有一条语句,也最好坚持使用大括号将其括起来,这是个良好的编程习惯,可以避免忘记使用大括号而产生的错误。
如下小例:

代码解释:在浏览器打开时,提示框已经输入了32,作为要转换的华氏温度值。对于华氏32°,代码中两个if语句的条件判断表达式都为false,所以两个if语句中的代码都不会被执行,页面上仅有一行输出(32° Fahrenheit is 0° centigrade);
输入32时会这样显示
;输入156时
声明了两个变量,其中degFahren的初始值是prompt()函数的返回值。由于prompt()函数的返回值是一个字符串,因此使用Number()函数显式地将该字符串转换为数值。
变量degCent用于保存算术表达式5/9*(degFahren-32)的结果,这个表达式将华氏度转换为摄氏度。
接下来document将转换后的结果输在页面上
两个if语句是新增的代码,如果判断的变量小于0是true则括号中的代码将被执行,它将使用document.write()方法向页面输出一段文本信息;如果答案是false,则程序将直接转到大括号结束符之后的下一行代码执行(代码缩进是一个良好的编程习惯,可以使代码更加清晰易读)
3.13逻辑运算符(&& || !)左操作数和右操作数都是布尔值
1、逻辑与&&
之前我们就介绍过左操作数和右操作数,它们同样适用于逻辑与运算符。只不过对于逻辑与运算符来说,它的左操作数和右操作数都是布尔值,并且通常是一个条件表达式的结果。
真值表


2、逻辑或||

逻辑或运算符的左操作数和右操作数也是布尔值,其结果也是布尔值。
如果它的操作数值为true,或者它的操作数值为true,它的返回值就是true,否则,它将是false。
与逻辑和运算符类似,js也会避免那些对最终结果没有任何影响的计算。如果左操作数为true,那么无论右操作数的结果是true还是false,都对其最终结果没有任何影响——最终结果都将是true。因此,当逻辑或运算符的左操作数为true时,js将直接返回结果值true,而不再去计算右操作数。实际上,无论是否去计算右操作数,其结果都是一样的。
3、逻辑非!
在JavaScript中是在条件为true时执行代码,so如果我们需要在条件为false时执行代码,就需要把false取反为true(把true取反则为false)。通过这样的方法,可以在条件为false时执行代码。我们使用逻辑非运算符来取反。逻辑非运算符将返回取之后的逻辑值,对true取反将得到false,对false取反将得到true值。通常,我们称之为逻辑非运算。
if ( ! (deCent < 100 ) )
{
//some code
}
逻辑非的真值表:

3.1.4 在if语句中使用符合条件
"变量degFahren的值是否大于0,但又小于100?",一个解决办法就是嵌套的两个if语句。嵌套指的是在一个外层if语句之中,在使用一个内层的if语句。当且仅当外层的if语句的判断条件为true时,内层的if语句的判断条件才会被检验。
if (degCent < 100)
{
if (degCent > 0)
{
decoument.write("degCent is between 0 and 100");
}
}
上面的代码是正确的,但是它有点冗长,并且不太直观。JavaScript为我们提供了更好的解决办法——在if语句的逻辑判断部分使用复合条件。复合条件就是使用逻辑运算符把多个条件连接起来的逻辑表达式,如下:
if (degCent > 0 && degCent < 100 )
{
document.write("degCent is between 0 and 100");
}
上面的if语句将首先计算变量degCent的值是否大于0,如果为true,if语句将接着计算变量degCent的值是否小于100。当两个条件都是true,if语句将接着计算变量degCent的值是否小于100。当两个条件都为true时,if语句中的代码document.write()才会被执行。
记JavaScript的入门学习(三)的更多相关文章
- 记JavaScript的入门学习(二)
2016年11月25号,利用上午时间学习了JavaScript的数据类型和变量,下午就该去图书馆泡书了. 看完变量的本章节,发现我可能不能一天结束,那我就利用上午和晚上九点回来的时间完成吧.把心态调整 ...
- 记JavaScript的入门学习(一)
2016年11月20日算是每天都会利用点时间去思考,去学习,接下来便是我学习JavaScript的前前后后,希望早日学完JavaScript和jQuery 之前学校毕业设计选择了一个如下图的题目 希望 ...
- SCARA——OpenGL入门学习三
OpenGL入门学习[三] 在第二课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处.例如:点太小,难以看清楚:直线也太细,不舒服:或者想画虚线,但不知道方法只能用 ...
- JavaScript高级程序设计学习(三)之变量、作用域和内存问题
这次讲的主要是变量,作用域和内存问题. 任何一门编程语言,都涉及这三个. 变量,比如全局变量,局部变量等,作用域,也分全局作用域和方法作用域,内存问题,在java中就涉及到一个垃圾回收的问题,由于ja ...
- javascript的入门学习
目录 JavaScript的学习 什么是javascript,如下简称JS 正式使用js js的两种引入方式 head标签与body标签的区别 js定义变量 可以分为如下四种类型: 有3种特殊的数据类 ...
- JavaScript快速入门(三)——JavaScript语句
JavaScript基本语句 基本概述 JavaScript是脚本语言,从上到下解释执行,最小单位为语句或语句块,每个语句以分号结尾,每个语句块以右大括号结尾. JavaScript可以将多条语句或语 ...
- SpringMVC入门学习三
今天是Springmvc学习的第三天,今天我将主要介绍一下: 常用注解的使用 关于非post.get请求的处理 文件上传与下载 拦截器 常用注解的使用 老大在此 @Controller @Cont ...
- Egg入门学习(三)---理解中间件作用
Egg是基于koa的,因此Egg的中间件和Koa的中间件是类似的.都是基于洋葱圈模型的. 在Egg中,比如我想禁用某些IP地址来访问我们的网页的时候,在egg.js中我们可以使用中间件来实现这个功能, ...
- MongoDB入门学习(三):MongoDB的增删查改
对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 由于M ...
随机推荐
- 为ASP.NET MVC应用程序使用高级功能
为ASP.NET MVC应用程序使用高级功能 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译, ...
- 将网站固定到开始菜单,自定义图标、颜色和Windows推送通知
Windows 8.1——将网站固定到开始菜单,自定义图标.颜色和Windows推送通知 记得在IE 9和Windows 7刚出来那会儿我写过一篇文章来介绍如何自定义网站将其固定到Windows的任务 ...
- c#中如何跨线程调用windows窗体控件
c#中如何跨线程调用windows窗体控件? 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来做这个问题,下面我将详细的介绍.首 ...
- Dump Checking
Dump Checking Debug相关的一些小技巧 摘要: 1. 如何Debug一个进程的子进程? 答: 使用WinDBG attach到父进程, 然后输入命令".childdbg 1& ...
- EasyUI DataGrid及Pagination
接上一篇EasyUI项目驱动学习 DataGrid数据表格及Pagination分页一起介绍 一.通过<table>标记创建DataGrid,嵌套<th>标签定义列表 < ...
- Http Module 介绍(转载)
Http Module 介绍 引言 Http 请求处理流程 和 Http Handler 介绍 这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IH ...
- 完整显示当前日期和时间的JS代码(2007年2月25日星期日正午12:42:48)
代码演示效果为“2007年2月25日星期日正午12:42:48”. 使用方法:将下面的JS代码放到你想要显示的页面中(支持HTML页面),然后在你想要显示时间的位置插入下面的代码即可 <div ...
- http概览
http概览 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少.它不仅 ...
- Operation not permitted引发的惊魂72小时
0.问题及描述 在测试产品的时候,莫名其妙发现了我们的主进程VPNd会出现以下的报错: 2013-07-18 13:05:13 www.1.com/192.168.200.220:65527 wri ...
- j2ee面试宝典翻译(1)
q1:给出一些使用Java的理由? a1:java是一个有趣的编程语言,让我找出一些理由来: 内建的多线程机制.套接字.内存管理(自动垃圾回收) 面向对象 跨平台 通过对标准API的扩展来支持基于we ...