第2章 JavaScript语言基础 2.1 数据类型、常量及变量
教学目标 1.掌握变量的定义与赋值 2.掌握数据类型 3.掌握运算符的使用
2.1.1 数据类型 1.数字型数据 (1)整型数据 (2)十六进制和八进制 (3)浮点型数据
2.字符串型 字符串(string)是由Unicode字符、数字、标点 符号等组成的序列,它是JavaScript用来表示文本 的数据类型。程序中的字符串型数据是包含在单引 号或双引号中的,由单引号定界的字符串中可以含 有双引号,由双引号定界的字符串中也可以含有单 引号。
3.布尔型 数值数据类型和字符串数据类型的值都无穷多,但 是布尔数据类型只有两个值,这两个合法的值分别 由直接量“true”和“false”表示。一个布尔值代 表的是一个“真值”它说明了某个事物是真还是假。
4.特殊数据类型 (1)转义字符 转义字符 说明 \b 退格 \v 跳格(Tab,水 平) \n 回车换行 \r 换行 \t Tab符号 \\ 反斜杠 \f 换页 \OOO 八进制整数,范 围000~777 \' 单引号 \xHH 十六进制整数, 范围00~FF \" 双引号 \uhhhh 十六进制编码的 Unicode字符
(2)未定义值 未定义类型的变量是undefined,表示变量还没有 赋值(如var a;),或者赋予一个不存在的属性值 (如var a=String.notProperty;)。 此外,JavaScript中有一种特殊类型的数字常量 NaN,即“非数字”。当在程序中由于某种原因发 生计算错误后,将产生一个没有意义的数字,此时 JavaScript返回的数字值就是NaN。
(3)空值(null) JavaScript中的关键字null是一个特殊的值,它表 示为空值,用于定义空的或不存在的引用。如果试 图引用一个没有定义的变量,则返回一个null值。 这里必须要注意的是:null不等同于空的字符串 ("")或0。
2.1.2 变量 1.变量的命名 JavaScript变量的命名规则如下: 必须以字母或下划线开头,中间可以是数字、字母 或下划线。 2.1.2 变量 1.变量的命名 JavaScript变量的命名规则如下: 必须以字母或下划线开头,中间可以是数字、字母 或下划线。 变量名不能包含空格或加号、减号等符号。 不能使用JavaScript中的关键字。 JavaScript的变量名是严格区分大小写的。例如, UserName与username代表两个不同的变量。
2.变量的声明与赋值 语法格式如下: var variable; 在声明变量的同时也可以对变量进行赋值: var variable=11;
声明变量时所遵循的规则如下: 可以使用一个关键字var同时声明多个变量,各个变量 之间用逗号分隔。 可以在声明变量的同时对其赋值,即为初始化 如果只是声明了变量,并未对其赋值,则其值缺省为 undefined。 var语句可以用作for循环和for/in循环的一部分,这样 就使循环变量的声明成为循环语法自身的一部分,使用 起来比较方便。 也可以使用var语句多次声明同一个变量,如果重复声 明的变量已经有一个初始值,那么此时的声明就相当于 对变量的重新赋值。
3.变量的作用域 变量的作用域(scope)是指某变量在程序中的有 效范围,也就是程序中定义这个变量的区域。在 JavaScript中变量根据作用域可以分为两种:全局 变量和局部变量。全局变量是定义在所有函数之外, 作用于整个脚本代码的变量;局部变量是定义在函 数体内,只作用于函数体的变量,函数的参数也是 局部性的,只在函数内部起作用。
4.变量的生存期 变量的生存期是指变量在计算机中存在的有效时间。 从编程的角度来说,可以简单地理解为该变量所赋 的值在程序中的有效范围。JavaScript 中变量的生 存期有两种:全局变量和局部变量。 全局变量在主程序中定义,其有效范围从其定义开 始,一直到本程序结束为止。局部变量在程序的函 数中定义,其有效范围只有在该函数之中;当函数 结束后,局部变量生存期也就结束了。
2.1.3 常量 语法: const 常量名:数据类型=值;
2.2 2.2.1 表达式 将运算符和操作数连接起来的式子被称为表达式。 根据运算符的不同,表达式可以分为算术表达式、 字符串表达式、关系表达式、赋值表达式以及逻辑 表达式等。 一个表达式本身可以简单的如一个数字或者变量, 或者它可以包含许多连接在一起的变量关键字以及 运算符。
2.2.2 运算符 1.字符串运算符 在JavaScript中,可以使用字符串运算符“+”将 两个字符串连接起来,结合到一起形成一个新的字 符串。
算术运算符用来连接运算表达式。算术运算符包括 加(+)、减(-)、乘(*)、除(/)、取模 (%)、自加(++)、自减(--)等运算符 2.算术运算符 算术运算符用来连接运算表达式。算术运算符包括 加(+)、减(-)、乘(*)、除(/)、取模 (%)、自加(++)、自减(--)等运算符 算术运算 符 说明 + 加法运算,用于将两个数相加 - 减法运算,用于将两个数相减 * 乘法运算,用于将两个数相乘 / 除法运算,用于将两个数相除 ++ 自增运算。该运算符有两种情况:i++(在使用i之后, 使i的值加1);++i(在使用i之前,先使i的值加1) -- 自减运算。该运算符有两种情况:i--(在使用i之后, 使i的值减1);--i(在使用i之前,先使i的值减1) % 取模运算,用于计算两个数相除的余数
3.逻辑运算符 逻辑运算符 说明 && 逻辑与,只有当两个操作数的值都为true时, a&&b的值才为true || ! 逻辑非,如果其单一操作数为true,则返回false。 否则返回true
4.位运算符 位运算符 说明 & 与运算符,如果两个操作数对应位都是 1 的话,则 在该位返回 1 | 与运算符,如果两个操作数对应位都是 1 的话,则 在该位返回 1 | 或运算符,如果两个操作数对应位都是 0 的话,则 在该位返回 0 ^ 异或运算符,如果两个操作数对应位只有一个 1 的 话,则在该位返回 1 ~ 非运算符,反转操作数的每一位 << 左移,将第一操作数的二进制形式的每一位向左移 位,所移位的数目由第二操作数指定。右面的空位补零 >> 带符号右移,将第一操作数的二进制形式的每一位 向右移位,所移位的数目由第二操作数指定。忽略被移 出的位 >>> 填0右移,将第一操作数的二进制形式的每一位向右 移位,所移位的数目由第二操作数指定。忽略被移出的 位,左面的空位补零
5.比较运算符 比较运 算符 说明(举例:定义x=5) < 小于,例如,x<8的值为true > 比较运 算符 说明(举例:定义x=5) < 小于,例如,x<8的值为true > 大于,例如,x>8的值为false <= 小于等于,例如,x<=5的值为true >= 大于等于,例如,x>=8的值为flase == 等于。只根据表面值进行判断,不涉及数据类型,例 如,x==8的值为false === 绝对等于。根据表面值和数据类型同时进行判断,例 如,x===5的值 true;x==="5"的值 false != 不等于。只根据表面值进行判断,不涉及数据类型, 例如,x!=8 的值为 true !== 不绝对等于。根据表面值和数据类型同时进行判断, 例如,x!==5的值为false
6.赋值运算符 赋值运算符 说明 = 将右边表达式的值赋给左边的变量,例如: username="name" += 将运算符左边的变量加上右边表达式的值赋给左边的 变量。例如,a+=b,相当于a=a+b -= 将运算符左边的变量减去右边表达式的值赋给左边的 变量。例如,a-=b,相当于a=a-b *= 将运算符左边的变量乘以右边表达式的值赋给左边的 变量。例如,a*=b,相当于a=a*b /= 将运算符左边的变量除以右边表达式的值赋给左边的 变量。例如,a/=b,相当于a=a/b %= 将运算符左边的变量用右边表达式的值求模,并将结 果赋给左边的变量。例如,a%=b,相当于a=a%b
7.其他运算符 运算符 说明 ?: 条件运算符,等价于一个简单的“if...else”语句。例如, age>=18?"成年人":"未成年人" [ ] 下标运算符,用于引用数组元素。例如,mybook[3] ( ) 用于调用函数的运算符。例如,mycheck() , 逗号运算符,用于分隔不同的值。例如,var bookid,bookname . 成员选择运算符,用于引用对象的属性和方法。例如, window.close() delete 用于删除一个对象的属性或一个数组索引元素。例如, delete mybook[2] new 用于创建一个用户自定义对象类型或内建对象类型的 实例,例如,new Object this 可用于引用当前对象的关键字。例如,this.color typef typeof运算符返回它的操作数当前所容纳的数据的类 型。typeof返回值有6种:"number"、"string"、"boolean"、 "object"、"function"和"undefined"。 void 该运算符指定了要计算一个表达式但没有返回值
8.运算符优先级 优先 级别 运算符 说明 结合性 1 .、[ ]、( ) 字段访问、数组下标访 问以及函数调用 左结合 2 优先 级别 运算符 说明 结合性 1 .、[ ]、( ) 字段访问、数组下标访 问以及函数调用 左结合 2 ++、--、-、!、delete、new、 typeof、void、this 一元运算符、返回数据 类型、对象创建、未定义值 3 *、/、% 乘法、除法、取模 4 +、-、+ 加法、减法、字符串连 接 5 <<、>>、>>> 移位 6 <、<=、>、>= 小于、小于等于、大于、 大于等于 7 ==、!=、===、!=== 等于、不等于、绝对等 于、不绝对等于 8 & 按位与 9 ^ 按位异或 10 | 按位或 11 && 逻辑与 12 || 逻辑或 13 ?: 条件 右结合 14 =、*=、/=、%=、+=、-=、 <<=、>>=、>>>=、&=、^=、|= 赋值、运算赋值 15 , 逗号运算符