一、数据类型

(1)数值型

数字(number)是最基本的数据类型。JavaScript和其他程序设计语言(如C和Java)的不同之处在于它并不区分整型数值和浮点型数值。在JavaScript中,所有数字都是数值型。 JavaScript采用IEEE754标准定义的64位浮点格式表示数字,这意味着它能表示的最大值是+-1、7976931348623157x10最小值是±5x10~32。当一个数字直接出现在JavaScript程序中时,我们称它为数值直接量。JavaScript支持的数值直接量主要包括整型数据、十六进制和八进制、浮点型数据,例如:整型数据:123 十六进制:0x5C 八进制:023 浮点型数据:3.14(即小数)

(2)字符串型

字符率(string)是由Unicode字符、数字、标点符号等组成的序列,它是JavaScript用来表示文本的数据类型。程序中的字符率型数据包含在单引号或双引号中,由单引号定界的字符串中可以包含双引号,由双引号定界的字符串中也可以包含单引号。具体示例如下:

  • 单引号括起来的一个或多个字符,例如:‘啊’ ‘冬天来了’
  • 双引号括起来的一个或多个字符,例如:“我要学习JavaScript”
  • 单引号定界的字符串中可以包含双引号,例如:'name="myname"'
  • 双引号定界的字符串中可以包含单引号,例如:"You can call me'Tom'!"

(3)布尔型

数值型数据类型和字符串型数据类型的值有无穷多个,但布尔型数据类型只有两个值,分别由“true”和“false”表示。一个布尔值代表一个“真值”,它说明某个事物是真还是假。
在JavaScript程序中,布尔值通常用来比较所得的结果。例如:

n==1

这行代码测试了变量n的值是否和数值1相等。如果相等,比较的结果就是布尔值true, 否则结果就是false。

布尔值通常用于JavaScript的控制结构,例如,JavaScript的if...else语句就是在布尔值为true时执行一个动作,而在布尔值为false时执行另一个动作。例如:

if(n==1)
    m=n+1;
else 
    n=n+1;

  上述代码检测了n是否等于1。如果相等,则m=n+1,否则n=n+1。

(4)特殊数据类型

除了上面介绍的几种数据类型,

avaScript还包括一些特殊类型的数据,如转义符、未定义值等。

  • 转义符:以反斜杠开头的,不可显示的特殊字符通常被称为控制字符,也被称为转义字符。
  • 未定义值:未定义类型的变量是undefined,表示变量还没有被赋值,或者被赋予了一个不存在的属性值(如var a=String.notProperty;)
  • 空值(null):关键字null是一个特殊的值,它表示空值,用于定义空的或不存在的引用。

二、条件语句

(1)if条件语句

if条件语句是最基本、最常用的条件控制语句,通过判断条件表达式的值为true或者false,来确定是否执行某一条语句。主要包括单向判断语句、双向判断语句和多项判断语句。

  • 单向判断语句:单向判断语句是结构最简单的条件语句,如果程序中存在绝对不执行某些指令的情况,就可以使用单向判断语句,其语法格式如下:

if(执行条件){ 执行语句 }

  • 双向条件语句:双向判断语句是if条件语句的基础形式,只是在单项判断语句基础上增加了一个从句,其基本语法格式如下:
if(执行条件){
执行语句1
}else{
执行语句2
}
  • 多项判断语句:多项判断语句可以先根据表达式的结果判断一个条件,然后根据返回值做出进一步判断,其基本语法格式如下:
if(执行条件1){
执行语句1
}else if(执行条件2){
执行语句2
}
else if(执行条件3){
执行语句3
}

(2)switch语句

switch条件语句是典型的多路分支语句,其作用与if语句类似,但switch条件语句比if语句更具有可读性。基本语法格式如下:

switch(表达式){
        case 目标值1:
            执行语句 1 
            break;
        case 目标值2:
            执行语句2
            break;
        case 目标值n:
            执行语句n
             break;
        default:
             执行语句 n+1 
             break;

  在上面的语法结构中,switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后的执行语句,如果没找到任何配的值,就会执行default后的执行语句。