JavaScript(二) 变量与数据类型
字面量
字面量(literal)又称直接量,是指程序中能够直接使用的值,如 3.1415926
数字(Number)字面量 可以是整数或者是小数,或者是科学计数(e)
1 | 3.14 |
字符串(String)字面量 可以使用单引号或双引号
1 | "John Doe" |
表达式字面量 用于计算
1 | 5 + 6 |
数组(Array)字面量 用于定义一个数组
1 | [40, 100, 1, 5, 25, 10] |
对象(Object)字面量 用于定义一个对象
1 | {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"} |
变量(variable)
变量是程序中数据的临时存放场所。在代码中可以只使用一个变量,也可以使用多个变量
声明变量
JavaScript 使用 var 关键字来声明变量
1 | var carname; // 变量声明 |
变量声明之后,该变量默认值为undefined
如需向变量赋值,请使用等号( =
)
carname="Volvo";
我们也可以在声明变量时对其赋值
1 | var carname = "Volvo"; // 定义一个变量 |
下面的代码定义了一个名为 carname 的变量,并向其赋值 "Volvo"
,然后把它放入 id="demo"
的 HTML 段落中
1 | <p id="demo"></p> |
如果一个访问一个不存在( 未声明 + 未定义 )的变量就会提示以下错误:
1 | console.log(message); |
默认情况下 不写声明关键字
var
直接赋值也可以使用变量,例如:a = 123
一条语句,多个变量
我们可以在一条语句中声明很多变量
该语句以 var 开头,并使用逗号 ( , ) 分隔变量即可
1 | var lastname="Doe", age=30, job="carpenter"; |
标识符(identifier)
所谓标识符,就是指变量、函数、属性的名字,或函数的参数
JavaScript 使用 Unicode 字符集,理论上标识符可以是任何字符( 包括中文 ),但考虑到兼容性和安全性问题,建议遵循规范命名
标识符需要按照以下规范命名:
- 标识符可以是字母(A-Z.a-z)、数字(0-9)、下划线 _ 和 $,但第一个字符不能为数字(0-9)
- 标识符还不能以 JavaScript 保留关键字 命名
字母大小写
JavaScript 是区分字母大小写的
函数 getElementById 与 getElementbyID 是不同的
同样,变量 myVariable 与 MyVariable 也是不同的
JavaScript 中,常见的是驼峰法的命名规则,如 lastName (而不是lastname)
数据类型(dataType)
JavaScript 中有 5 种基本的数据类型和 1 种引用数据类型:
基本数据类型( Primitive Data Type ):
- 字符串 ( String )
- 数字 ( Number )
- 布尔值 ( Boolean )
- 空 ( null )
- 未定义 ( undefined )
引用数据类型( Reference Data Type ):
- 对象( Object )
动态数据类型
JavaScript 声明变量是无需指定数据类型的,js 运行时会根据变量的值确定数据类型,这意味着相同的变量可存储不同的数据类型
1 | var x; // x 为 undefined |
字符串(String)
多个字符连在一起就叫做字符串,字符串用引号包裹,引号可以是单引号也可以是双引号
字符串可以是引号中的任意文本
1 | var carname = "Volvo XC60"; |
字符串中可以包含引号,只要不和包围字符串的引号相同就行
1 | var answer="It's alright"; |
转义字符
字符串中一些特殊符号是无法直接使用的,这时就需要使用转义字符了
序列 | 代表字符 |
---|---|
\0 | Null字符(\u0000) |
\b | 退格符(\u0008) |
\t | 水平制表符(\u0009) |
\n | 换行符(\u000A) |
\v | 垂直制表符(\u000B) |
\f | 换页符(\u000C) |
\r | 回车符(\u000D) |
\" | 双引号(\u0022) |
\' | 撇号或单引号(\u0027) |
\\ | 反斜杠(\u005C) |
\uXXXX | 由 4 位十六进制数值 XXXX 指定的 Unicode 字符 Unicode编码表参考书 |
数字(Number)
数字 主要用于算数运算
数字可以是整数还可以是小数
1 | var a = 13; |
对于极大或极小的数字可以通过科学 ( 指数 ) 计数法来表示
1 | var y=123e5; // 12300000 |
±infinity
Number型的数字大小是有限的,通过输出常量Number.MAX_VALUE
和Number.MIN_VALUE
即可获取 js 的最大数和最小数
1 | console.log(Number.MAX_VALUE); |
如果超过了Number.MAX_VALUE
的范围,则返回infinity
( 正无穷 )或-infinity
( 负无穷 )
NaN
NaN(Not a Number)是一个特殊的数值,js 中如果数值计算没有结果,则返回NaN
其他进制数
- 16进制:以0x开头
- 8进制:以0开头
- 2进制:以0b开头
布尔值(Boolean)
布尔值主要用在条件判断中
它只有两个值 true( 真 ) 或 false( 假 )
1 | var x = true; |
typeof(检测数据类型)
功能描述:typeof 是 JavaScript 中的运算符,用来查看变量的数据类型,并返回类型字符串
语法:typeof <值>
输出:
typeof %数值%(返回值:number)
typeof %字符串%(返回值:string)
typeof %布尔值%(返回值:boolean)
typeof undefined(返回值:undefined)
typeof null(返回值:object)
数据类型转换
使用String()
函数 可以将其它数据类型转换为字符串
转换关系:
1 | "Hello_你好" => "Hello_你好"; |
使用Number()
函数 可以将其它数据类型转换为数值型
转换关系:
1 | 123 => 123; |
使用parseInt()
函数可以把一个字符串转换为一个整数(取整)
例:
1 | console.log(parseInt('123a123')) //输出为 123 |
使用parseFloat()
函数可以把一个字符串转换为一个浮点数(小数)
例:
1 | var a = parseFloat('123.5px'); |
使用Boolean()
函数 可以将其它数据类型转换为布尔型
转换关系:
1 | ±123 => true; |