《JavaScript和jQuery实战手册(原书第2版)》——2.3节数据类型

2.3 数据类型
我们每天处理不同类型的信息。我们的姓名、食品的价格、医生的办公地址,以及下一个生日的日期,这些对我们来说都是很重要的信息。我们根据所拥有的这些信息来决定做些什么以及如何过日子。计算机程序也一样。它们也依赖信息来做事情。例如,要计算购物车的总金额,就需要知道订购的每一项的价格和数量;而要定制带有访问者姓名的一个页面(“Welcome Back, Kotter”),则需要知道他的名字。
编程语言通常把信息划分为不同的类型,并且以不同的方式来处理每种类型。在JavaScript中,最基本的数据类型是数值、字符串和Boolean(布尔值)。
2.3.1 数值
数值用来计数和计算,可以记录距离暑假还有多少天,或者计算购买两张电影票的总价。数值在JavaScript编程中非常重要:可以使用数值来统计一个访问者访问了Web页面多少次,指定Web页面上的一个项目的具体像素位置,或者确定一个访问者想要订购多少产品。
在JavaScript中,用一个数字字符来表示一个数值,例如5,就是数值5。也可以使用带有小数点的小数,例如5.25和10.3333333。JavaScript甚至允许使用负数,例如—130。
既然数值通常用于计算,那么程序就经常会包含数学运算。我们将在后面的内容中学习操作符,这里只是给出使用JavaScript数值的一个例子。假设要在Web页面上显示值5和15相加的和,可以使用如下的一行代码:
document.write(5 + 15);
这行JavaScript代码把两个数相加,并且在Web页面上显示其和(20)。有很多不同的方法来操作数值,我们将从14.3.1节开始学习它们。
2.3.2 字符串
要显示一个名字、一个句子或者任何一串字符,都要使用字符串。字符串只是包含在引号中的一系列字母和其他的符号。例如,“Welcome Hal”和“You are here”都是字符串。第1章把字符串和alert命令一起使用:alert('Hello World!');。
字符串的开始引号告诉JavaScript解释器,接下来的是一个字符串,即一系列的符号。解释器按照字面意义接受符号,而不是试图将它们解释为对JavaScript来说特殊的任何内容(例如命令)。当解释器遇到了最后的引号,它知道已经到达了字符串的末尾,并且继续程序的下一部分。
我们可以使用双引号("hello world")或者单引号('hello world')把字符串括起来,但是,必须确保在字符串的开始和末尾使用同一种引号(例如,"this is not right'不是一个有效的字符串,因为它以双引号开始,却以单引号结束)。
注意: 你会注意到,在本书大部分内容中,我们使用弯引号(""和''),但是当编写JavaScript代码时,你只需用规范的直引号(""和'')。代码示例(例如alert(‘Warning, warning!’); below)使用了不适当的引号类型。要怪就怪Gutenberg——他不知道如何编程。
因此,要弹出一个带有消息“Warning, warning!”的警告框,应该这样写:

alert('Warning, warning!');
或者这样写:
alert("Warning, warning!");

我们经常在程序中使用字符串:当添加警告消息的时候,在处理Web表单上的用户输入的时候,以及操作Web页面的内容的时候。字符串是如此重要,以至于我们从14.1.1节开始专门学习如何使用它们。
常见问题
把引号放入字符串
当我们试图创建其中包含引号的一个字符串的时候,程序无法工作。为什么会这样?
在JavaScript中,引号表示一个字符串的开始和结束,即便你不希望它们这么做。当JavaScript解释器遇到第一个引号时,它就对自己说:“哈,这是一个字符串。”当它遇到一个匹配的引号,它就认为已经到达了字符串的末尾。这就是为什么不能创建一个像"He said, "Hello.""这样的字符串。在这个例子中,第一个引号(在单词"He"的前面)表示字符串的开始,但是,一旦JavaScript解释器遇到第二个引号(在单词"Hello"的前面),它就认为这个字符串结束了,因此,最终得到字符串"He said, ",而Hello.部分则导致一个JavaScript错误。
有几种方式可以避免这个难题。最容易的方法就是使用单引号来包围其中带有一个或多个双引号的字符串。例如,'He said, "Hello."'是一个有效的字符串,单引号创建了字符串,其中的双引号则是字符串的一部分。同样,我们可以使用双引号来包围其中带有一个单引号的字符串,例如"This isn't fair"。
另一种方法是,告诉JavaScript解释器:按照字面意义处理字符串中的引号,即把引号当做该字符串的一部分,而不是字符串的结束。我们使用转义字符来做到这点。如果在引号的前面使用一个反斜杠(\),引号就会当做字符串的一部分来处理。我们可以像这样重写上面的例子:"He said, "Hello.\ ""。在一些情况下,转义字符是唯一的选择。例如,'He said, "This isn\'t fair."'。由于字符串包围在单引号中,单词"isn't"中独立的单引号的前面必须使用一个反斜杠,即isn\'t。
在并非必需的情况下也可以转义引号,作为澄清引号应该按照字面意义处理的一种方式。例如,'He said, "Hello."'。即便不需要转义双引号(因为单引号包围了整个字符串),一些程序员还是这么做了,以便清楚地表示双引号只是一个引号。
2.3.3 布尔值
数值和字符串提供了无限的可能性,而Boolean(布尔值)数据类型则比较简单,只是true或false两个值之一。当创建一个JavaScript程序来智能地响应用户的输入和操作的时候,会遇到Boolean数据类型。例如,如果想要在提交一个表单之前确保访问者提供了一个E-mail地址,可以通过问一个简单的问题来向页面添加逻辑:“Did the user type in a valid email address?”。这个问题的答案是一个Boolean值:要么E-mail地址是有效的(true),要么是无效的(false)。根据这个问题的答案,页面以不同的方式来响应。例如,如果E-mail地址是有效的(true),那么提交表单;如果地址是无效的(false),那么显示一条错误消息并阻止表单提交。
实际上,Boolean值如此重要,以至于JavaScript包含了两个专门的关键字来表示这些值,它们是true和false。
我们将在3.1.2节学习在给程序添加逻辑的时候Boolean值是如何发挥作用的。

时间: 2024-10-03 06:13:42

《JavaScript和jQuery实战手册(原书第2版)》——2.3节数据类型的相关文章

《JavaScript和jQuery实战手册(原书第3版)》---第1章 编写第一个JavaScript程序 1.1 编程简介

本节书摘来自华章出版社<JavaScript和jQuery实战手册(原书第3版)>一书中的第1章,第1.1节,作者David Sawyer McFarland,姚待艳 李占宣 译,更多章节内容可以访问"华章计算机"公众号查看. 第1章 编写第一个JavaScript程序 HTML自身并没有太多智能:它不能做数学运算,不能判断某人是否正确填写了一个表单,而且不能根据Web访问者的交互来做出判断.基本上,HTML让人们阅读文本.观看图片或视频,并且单击链接转向拥有更多文本.图片

《JavaScript和jQuery实战手册(原书第2版)》——导读

目 录 第一部分:JavaScript 入门第1章 编写第一个JavaScript 程序1.1 编程简介1.2 如何把JavaScript 添加到页面1.3 第一个JavaScript 程序1.4 把文本写到Web 页面上1.5附加外部JavaScript 文件1.6追踪错误第2章 JavaScript 的语法2.1 语句2.2 内置函数2.3 数据类型2.4 变量2.5 操作数据类型和变量2.6 教程:使用变量创建消息2.7 教程:请求信息2.8 数组2.9 教程:编写使用数组的页面2.10

《JavaScript和jQuery实战手册(原书第2版)》——2.11节注释

2.11 注释 有的时候,当你思考编程的时候,会觉得自己理解程序中所进行的所有事情.代码的每一行都有意义,并且更好的是,它们还都能工作.但是,一个月或两个月以后,当你的老板或客户请你对自己所编写的漂亮脚本做一个更改或添加一项新功能的时候,你可能会看着似曾相识的JavaScript代码抓耳挠腮:这个变量的作用是什么?为什么我要这样写程序呢?程序的这一段做什么事情呢? 我们很容易忘记一个程序是如何工作的以及为什么按照这样的方式来编写代码.好在大多数编程语言为程序员提供了一种方法,使得他们可以给自己或

《JavaScript和jQuery实战手册(原书第2版)》——2.10节对象的简单介绍

2.10 对象的简单介绍 到目前为止,我们在本书中了解到,可以使用document.write()命令将一些内容写到Web页面中,可以确定一个数组中有多少个项目,只要输入数组的名字,后面跟着一个点号和单词"length"就可以了,例如,days.length.你可能会问,这些点号是干什么的?我们已经在不知道JavaScript的这一特殊语法的情况下学习3章内容了,现在该来了解一下它了. 对于JavaScript语言的很多元素,我们已经建立起了概念,包括Web页面的元素,也就是对象.当然

《JavaScript和jQuery实战手册(原书第2版)》——1.1节编程简介

1.1 编程简介对于很多人来说,"计算机编程"使他们脑海里浮现出这样的情景:拥有超常智慧的家伙在键盘前弯腰而坐,连续数小时飞快地敲击着几乎难以理解的.含混不清的语言.确实,某些编程工作就是那样的.编程可能像是非凡之人表演的复杂魔术.虽然很多编程概念很难掌握,但是,在编程语言中,JavaScript对于非程序员来说算是相对友好的.然而,JavaScript比HTML或CSS都要复杂,并且,对于Web设计者来说,编程往往是一个陌生的世界.因此,本书的目标之一是帮助你像一个程序员一样思考.在

《JavaScript和jQuery实战手册(原书第2版)》——3.5节教程:一个简单测验

3.5 教程:一个简单测验是时候把本章学习的内容组合到一起来创建一个完整的程序了.在这个教程中,我们将创建一个简单测验系统,它提出问题并评估参加测验者的表现.首先,本节将看看可能解决这个问题的一些方式,并且讨论编程的高效技巧.第一步总是搞清楚程序要做什么.下面是我们希望程序完成的一些事情:询问问题.如果我们想要测验一个人,需要一种方式向他提出问题.此时,我们知道从Web页面获取反馈的一种简单方法:prompt()命令.此外,我们需要一个问题列表,既然数组可以很好地用来存储信息列表,那么我们将使用

《JavaScript和jQuery实战手册(原书第2版)》——3.4节函数:把有用的代码转换为可复用的命令

3.4 函数:把有用的代码转换为可复用的命令 假设在工作中你刚刚得到一位新的助理,来帮助你完成每项任务(这时候应该把本书归类为"玄幻小说"了).假设你饿了想吃披萨饼,但助理是新来到这座大楼和这个区域的,你必须给他清楚的指示:"出门右转,乘电梯到1层,走出大楼--"等.助手按照你的指示并且买来了一块披萨饼.几个小时之后,你又饿了,还想吃更多的披萨饼.现在,你不需要再次复述整个指示("出门右转,乘电梯到1层,走出大楼--").这次,助手知道到哪里去购

《JavaScript和jQuery实战手册(原书第2版)》——1.2节如何把JavaScript添加到页面

1.2 如何把JavaScript添加到页面 Web浏览器可以理解HTML和CSS,并且能够把这些语言转换为屏幕上可视化的显示.Web浏览器中能够理解HTML和CSS的部分叫做布局或渲染引擎.但大多数浏览器还拥有一种叫做JavaScript解释器的工具.它是浏览器的一部分,可以理解JavaScript并且执行一个JavaScript程序的步骤.既然Web浏览器通常期待HTML,当JavaScript出现的时候,必须使用<script>标签明确地告诉浏览器. <script>标签是常

《JavaScript和jQuery实战手册(原书第2版)》——3.1节使程序智能地响应

3.1 使程序智能地响应 我们的生活充满了选择:"我今天穿什么"."午餐吃什么"."星期五晚上该干什么"等.我们所做的很多选择取决于某个条件.例如,假设确定想要在星期五晚上看电影,我们可能会问自己一堆问题,例如,"有什么好的电影上映吗" ."电影能够准时开演吗" ."我带了足够的钱去电影院吗"(买一袋爆米花要17块钱). 假设有一场电影刚好在我们去的时候上映.我们就会问自己一个简单的问题

《JavaScript和jQuery实战手册(原书第2版)》——1.3节第一个JavaScript程序

1.3 第一个JavaScript程序 学习JavaScript的最佳方式是进行实际的编程.在本书中,你将会看到很多动手实践的教程,它们带领你一步一步地经过创建JavaScript程序的过程.要开始练习教程,我们需要一个文本编辑器(参见前言的"用于JavaScript编程的软件"部分的介绍).一个Web浏览器以及位于www.sawmac.com/js2e的练习文件(参见下面的"注意"部分的完整说明). 注意: 本章的教程需要本书Web站点www. sawmac.co