数据和判定(二)------运算符

简介:    运算符JavaScript有许多的运算符,你可以在你的程序中用来操作数据;你或许会从数学的角度认识它们。

   运算符

JavaScript有许多的运算符,你可以在你的程序中用来操作数据;你或许会从数学的角度认识它们。表 2-2 介绍了一些最常用的运算符。

2-2 JavaScript 运算符

运算符

它的用途

+

对两个数进行加法运算或者连接两个字符串。

-

从第一个数中减去第二个数。

*

对两个数进行乘法运算。

/

第一个数除以第二个数。

%

获得除法的余数。举例来说,98 % 10 = 8

--

数字递减1:只有在变量中有效,我们稍后会提到。

++

数字递增1:只有在变量中有效,我们稍后会提到。

 

下面是它们的应用:

<html>

<body>

<script type="text/javascript">

document.write( 1 - 1 );

document.write( "<br />" );

document.write( 1 + 1 );

document.write( "<br />" );

document.write( 2 * 2 );

document.write( "<br />" );

document.write( 12 / 2 );

document.write( "<br />" );

document.write( 1 + 2 * 3 );

document.write( "<br />" );

document.write( 98 % 10 );

</script>

</body>

</html>

 

你会获得如下的输出:

                                                                                

 

0

2

4

6

7

8

                                                                                

 

跟数学一样,JavaScript也定义了一些运算优先级。乘法比加法的优先级要高,所以这个计算1 + 2 * 3 会按如下的步骤执行:

2 * 3 = 6

6 + 1 = 7

所有的运算符都有一个优先级顺序。乘法、除法和求余的优先级相同,因此当它们出现在同一个等式中的时候,会按照从左到右的顺序执行。试着计算一下:

2 * 10 / 5%3

计算结果是1,因为计算的顺序是简单的从左到右来读的:

2 * 10 = 20

20 / 5 = 4

4%3 = 1

加法和减法同样也拥有相同的优先级。

你可以使用括号来给某部分计算一个更高的优先级。例如,你可以按照如下的方式,把11相加,然后乘以5

(1 + 1) * 5

计算的结果会是10,但没有括号的话结果就会是6。实际上,使用括号是个非常好的主意,即使它们不是必需的时候,因为它们可以帮助我们使执行的顺序变得清晰。

如果你使用不止一对括号,JavaScript会简单的按照从左到右的顺序执行,或者你使用了内部括号,则按照从内到外的顺序执行:

document.write( ( 1 + 1 ) * 5 * ( 2 + 3 ) );

下面是这个计算的优先执行顺序:

(1 + 1) = 2

(2 + 3) = 5

2 * 5 = 10

10 * 5 = 50

正如我们看到的,JavaScript的加法运算符把这些值加到一起。它如何处理这两个值取决于你使用的数据类型,这个+运算符会把它们加到一起。 然而,如果你处理得数据其中有一个数据类型是字符串(使用分隔符来表示的),这两个值会被连接在一起。试一下这个:

<html>

<body>

<script type = "text/javascript">

document.write( 'Java' + 'Script' );

document.write( 1 + 1 );

document.write( 1 + '1' );

</script>

</body>

</html>

能够对字符串使用加法运算是非常方便的(这种情况下也叫连接运算符),但如果你处理的其中一个值正好与你期望的数据类型不同,它也会产生意想不到的结果。我们稍后会看一些这样的简单例子,并且分解他们。

如果你处理的文本literal)值都如我们目前所使用的那样,那么它不会有什么大问题。可是,你在程序中需要处理的很多数据都是用户输入或者脚本产生的,因此我们没有办法预先准确的知道你将要处理的是什么值。这就是变量variables)需要引入的地方。变量是你脚本中的数据占位符,它们对JavaScript来说非常重要。

 
相关文章
|
7月前
|
计算机视觉
YOLOv11改进策略【小目标改进】| 2024-TOP 自适应阈值焦点损失(ATFL)提升对小目标的检测能力
YOLOv11改进策略【小目标改进】| 2024-TOP 自适应阈值焦点损失(ATFL)提升对小目标的检测能力
1303 11
YOLOv11改进策略【小目标改进】| 2024-TOP 自适应阈值焦点损失(ATFL)提升对小目标的检测能力
|
9月前
|
存储 弹性计算 安全
云基础设施处理器CIPU 2.0技术解读
本文深入解读阿里云的CIPU(Cloud Infrastructure Processing Unit)技术,探讨其在云计算中的定位与价值。面对当前XPU命名泛滥的问题,阿里云为何选择CIPU这一名称?CIPU旨在解决云计算中的弹性、安全、稳定、性能和成本五大核心需求。通过对比DPU和IPU,CIPU更专注于云环境下的基础设施处理,确保数据的安全性、传输的可靠性和存储的稳定性。此外,文章还回顾了神龙计算的历史发展,强调CIPU2.0在提升性能、优化资源调度和满足大客户需求方面的进展。最终,CIPU作为手段,其核心目标是为客户提供更高性价比和更稳定的云服务。
|
10月前
|
API
天气预报15日-墨迹天气-IP查询版免费API接口教程
该接口提供基于指定IP地址的15日天气预报,支持POST和GET请求方式。请求需包含用户ID、KEY,可选填IP地址,默认查询访问者IP所在地天气,查询失败时默认返回北京天气。返回值包括状态码、地点及15天天气详情,如星期、日历、天气状况、温度范围及天气图标等。示例请求和响应详见文档。
783 48
|
Kubernetes 关系型数据库 容器
阿里云ACK产品评测
阿里云 ACK (Alibaba Cloud Container Service for Kubernetes) 是一站式容器管理服务,简化容器应用部署、管理及运维。具备友好Web界面与CLI工具;无缝集成阿里云RDS、SLB、OSS等服务;提供RBAC、网络策略及镜像安全扫描等功能确保安全;基于阿里云基础设施,支持自动伸缩与负载均衡保证高性能。通过部署WordPress案例演示具体流程,包括集群创建、kubectl配置及WordPress+MySQL部署。ACK适合各类用户,高效便捷。注意:官方镜像可能拉取失败,建议使用阿里云ECS拉取或上传至容器镜像服务。
435 0
|
消息中间件 NoSQL Kafka
实时计算 Flink版产品使用问题之在处理大数据量时,checkpoint超时,该如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
存储 并行计算 NoSQL
如何利用Java进行大数据处理?
如何利用Java进行大数据处理?
Qt之使用图片填充QLabel
Qt之使用图片填充QLabel
679 1
|
Java 程序员 应用服务中间件
spring框架核心技术讲解(上)--超详细教程加案例分析
spring框架核心技术讲解(上)--超详细教程加案例分析
394 0
|
SQL 开发框架 .NET
(20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)
(20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)
|
XML 安全 网络协议