龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

JavaScript入门之语言基础(1)(2)

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
赋值运算符 算术运算符执行基本的数学运算,而赋值运算符则是把值赋给JavaScript变量。当你在前面一节中把值赋给变量时,你已经见到了最常用的赋值运

赋值运算符

算术运算符执行基本的数学运算,而赋值运算符则是把值赋给JavaScript变量。当你在前面一节中把值赋给变量时,你已经见到了最常用的赋值运算符。表3列出并描述了JavaScript语言中所有可用的赋值运算符。

表3. 赋值运算符

运算符描述

=等于

+=把加法值(变量加上值的结果值)赋给变量

-=把减法值(变量减去值的结果值)赋给变量

*=把乘法值(变量乘上值的结果值)赋给变量

/=把除法值(变量除以值的结果值)赋给变量

%=把取模值(变量对值取模的结果)赋给变量

你已经看到了如何使用等号来把值或是表达式赋给变量,但现在我会给展示如何使用一个令人稍加困惑的赋值运算符。把一个加法值赋给一个变量可能是一个很奇怪的概念,但实际上很简单(清单8)。

清单8. 把一个加法值赋给一个变量

  1. var num = 10;  
  2. document.write("The value of num is: "+ num);  
  3.  
  4. // 把num的值更新为15  
  5. num += 5;  
  6. document.write("The new value of num is: "+ num); 

这一脚本的结果是“The value of num is: 10”后面跟着“"The new value of num is: 15”。你可以看到,这一脚本中的运算符把加法值赋给了变量。这也可以当作是清单9中所编写的脚本的一种简短写法。

清单9. 把加法值赋给变量的一种更长的写法。

  1. var num = 10;  
  2. document.write("The value of num is: "+ num);  
  3.  
  4. // 把num的值更新为15  
  5. num = (num + 5);  
  6. document.write("The new value of num is: "+ num); 

比较运算符

比较运算符确定变量或是它们的值之间的关系。你在条件语句中使用比较运算符,通过比较变量或是它们的值来计算出语句为true还是为false,以此创建逻辑。表4列出并描述了JavaScrpit语言中所有可用的比较运算符。

表4. 比较运算符

运算符描述

==等于

=== 全等,用于值和对象类型

!=不等于

>大于

<小于

>= 大于或等于

<= 小于或等于

在编写任何类型的逻辑时,变量和值的比较都是最基本的。清单10中的例子展示了如何使用等于这一比较运算符(==)来确定10是否等于1。

清单10. 使用比较运算符

  1. document.write(10 == 1); 

逻辑运算符

逻辑运算符通常是用来组合条件语句中的比较运算符。表5列出并描述了JavaScript语言中的所有可用的逻辑运算符。

表5. 逻辑运算符

运算符描述

&&与

||或

! 非

现在在变量和运算符方面你已经有些经验了,是时候了解如何创建一种比简单的变量有着更多存储内容的机制了。

数组

数组类似于变量,但不同之处在于它们可以把多个值和表达式放在一个名称之下。把多个值存放在一个变量中,这种做法造就了数组的强大。你可存放在 JavaScript数组中的数据的类型和数量都没有限制,在脚本中声明数组之后,你就可以随时访问数组中的任何项的任何数据。虽然数组可以保存 JavaScript语言的任何数据类型,包括其他数组,但最常见的做法是,把相类似的数据存储在同一个数组中,并给它指定一个与数组项有关联意思的名称。清单11提供的例子使用了两个独立的数组来各自存放相类似的数据。

清单11. 把相类似的值存放在数组中

  1. var colors = new Array("orange""blue""red""brown");  
  2. var shapes = new Array("circle""square""triangle""pentagon"); 

正如你见到的那样,是可以把所有的这些数据项都保存在一个数组中,但这是不符合逻辑的,且有可能会在以后给脚本带来问题,比如说在识别数组中存放的是什么数据时。

访问数组中的值很容易,但这里有一个陷阱存在。数组的ID总是从0而不是从1开始的,在第一次使用的时候你可能会有些困惑。ID从0开始递增,例如0、1、2、3等。要访问数组项的话你就必须要使用它的ID,其指向子项在数组中的位置(清单12)。

清单12. 把相类似的值保存在一个数组中

  1. var colors = new Array("orange""blue""red""brown");   
  2. document.write("Orange: "+ colors[0]);  
  3. document.write("Blue: "+ colors[1]);  
  4. document.write("Red: "+ colors[2]);  
  5. document.write("Brown: "+ colors[3]); 

也可以给数组中的某个位置赋值,或是更新数组中的某项的值,就像前面访问数组中的项的做法一样(清单13)。

清单13. 给数组中的特定位置赋值

  1. var colors = new Array();  
  2. colors[0] = "orange";  
  3. colors[1] = "blue";  
  4. colors[2] = "red";  
  5. colors[3] = "brown";  
  6. document.write("Blue: "+ colors[1]);  
  7.  
  8. // 把blue更新成purple  
  9. colors[1] = "purple";  
  10. document.write("Purple: "+ colors[1]); 

现在你已经很好地了解了变量、运算符和数组,接下来把你所学的东西运用到实践中,开始创建一些逻辑。

条件语句

条件语句是创建脚本语言或是编程语言中各种类型的逻辑的骨架,JavaScript语言也不例外。条件语句基于你所写的条件来确定要采取的行为,JavaScript语言有四种编写条件语句的方式,表6对此做了描述。

表6. 条件语句

语句描述

if如果某个特定条件为true的话就执行脚本

if...else 如果某个特定条件为true的话就执行某个脚本,

如果条件为false的话则执行令一个脚本

if...else if...else  如果不限个数的多个条件中之一为true的话就执行某个脚本,

如果所有的条件都为false的话 就执行其他的脚本

switch 执行许多脚本中的一个

如果你只想在某个条件为true时执行某个脚本的话,就使用if语句。清单14展示了如何使用带有比较运算符的if语句来在条件为true时执行脚本。

清单14. 使用if语句

  1. var num = 10;  
  2. if(num == 5)  
  3. {  
  4.    document.write("num is equal to 5");  

如果你打算在某个条件为true时执行一个脚本,而在条件为false时执行另一个脚本话,那么使用if...else语句,如清单15所示。

清单15. 使用if...else语句

  1. var num = 10;  
  2. if(num == 5)  
  3. {  
  4.    document.write("num is equal to 5");  
  5. }  
  6. else 
  7. {  
  8.    document.write("num is NOT equal to 5, num is: "+ num);  

如果要基于不同的条件来执行不同的脚本的话,则使用if...else if...else语句,如清单16所示。

清单16. 使用if...else if...else语句

  1. var num = 10;  
  2. if(num == 5)  
  3. {  
  4.      document.write("num is equal to 5");  
  5. }  
  6. else if(num == 10)  
  7. {  
  8.    document.write("num is equal to 10");  
  9. }  
  10. else  
  11. {  
  12.   document.write("num is: "+ num);  

Swith语句不同于if语句,它们不能用来确定变量值是否大于或是小于另一个值。清单17给出的例子说明了使用switch语句来确定要执行的脚本的适当时机。

清单17. 使用switch语句

  1. var num = 10;  
  2. switch(num)  
  3. {  
  4.    case 5:  
  5.       document.write("num is equal to 5");  
  6.       break;  
  7.    case 10:  
  8.       document.write("num is equal to 10");  
  9.       break;  
  10.    default:  
  11.       document.write("num is: "+ num);  

你可能已经注意到清单17用到了case子句、break语句和default子句。这些子句和语句对switch语句来说都是很重要的部分。case子句确定了switch的值是否与子句中用到的数据值相等;break语句中断——或是停止——switch语句执行语句的余下部分;而default子句则标明了在没有case语句执行的情况下或是已执行的case语句没有break语句的情况下,缺省要运行的脚本。例如,清单18说明了在已执行的case语句中如果没有break语句的话,多个case语句和default语句是如何执行的。

清单18. 通过不包含break的方式来执行多行代码

  1. var num = 10;  
  2. switch(num)  
  3. {  
  4.    case 5:  
  5.       document.write("num is equal to 5");  
  6.       break;  
  7.    case 10:  
  8.       document.write("num is equal to 10");  
  9.    default:  
  10.       document.write("num is: "+ num);  

这一脚本的结果先是一句“num is equal to 10”,后面再跟着一句“num is: 10”。这种情况有时被称为switch直落。

正如本节开头提到的那样,条件语句是任何脚本语言或是编程语言中的所有逻辑的骨架,不过如果不用函数的话,你得到的代码就会像纠缠不清的一团乱麻。

精彩图集

赞助商链接