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

   运算符

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来说非常重要。

 
posted @ 2008-01-03 22:19  爱生活,爱编程  阅读(155)  评论(0编辑  收藏  举报