JavaScript数据类型、变量及数组使用指南
立即解锁
发布时间: 2025-08-20 01:26:56 阅读量: 1 订阅数: 5 


JavaScript入门与实践指南
### JavaScript 数据类型、变量及数组使用指南
#### 1. 数据类型与字符串拼接
在 JavaScript 里,`alert()` 函数常常会包含表达式。比如,涉及变量 `degFahren`(包含数值数据),将它与字符串 “\xBO Fahrenheit is “ 进行拼接。JavaScript 察觉到是在拼接数字和字符串,就会自动把 `degFahren` 里的数字转换为字符串。接着再把这个字符串与包含数值数据的变量 `degCent` 拼接,同样,JavaScript 会把 `degCent` 的值转换为字符串,最后再拼接字符串 “\xBO centigrade”。
这里用到了转义序列 `\xNN` 来插入特殊字符,像 `\xB0` 就会被转换为对应的字符(`B0` 代表拉丁 - 1 字符表中的某个字符)。不过要留意,特殊字符并非在所有平台都兼容,在 Windows 电脑上能用 `\xNN` 表示某个字符,在 Mac 或 Unix 系统里可能就得换个字符。
#### 2. 数据类型转换
当把字符串和数字相加时,JavaScript 会把数字转换为字符串然后拼接。但有些时候,得手动转换数据类型。比如用表单收集用户输入时,用户输入的数值会被当作字符串处理。
要是收集了两个字符串形式的数字,像 “22” 和 “15”,直接用 “22” + “15” 得到的是 “2215”,因为 JavaScript 会把它们当作字符串拼接。而且拼接顺序不同结果也不一样,例如:
- `1 + 2 + 'abc'` 结果是 “3abc”
- `'abc' + 1 + 2` 结果是 “abc12”
为了把字符串转换为数字,有两个函数:`parseInt()` 和 `parseFloat()`。
- **`parseInt()`**:该函数会遍历字符串的每个字符,把有效的数字字符组合成整数。要是遇到无效字符,就停止转换并返回已转换的数字。例如 `parseInt("123")` 返回 123,`parseInt("123abc")` 也返回 123。
- **`parseFloat()`**:和 `parseInt()` 类似,不过它返回浮点数,并且会把字符串里的小数点当作有效数字的一部分。
下面是一个使用 `parseInt()` 和 `parseFloat()` 的示例代码:
```html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script type="text/javascript">
var myString = "56.02 degrees centigrade";
var myInt;
var myFloat;
document.write("\"" + myString + "\" is " + parseInt(myString) +
" as an integer" + "<BR>");
myInt = parseInt(myString);
document.write("\"" + myString + "\" when converted to an integer equals " +
myInt + "<BR>");
myFloat = parseFloat(myString);
document.write("\"" + myString +
"\" when converted to a floating point number equals " + myFloat);
</script>
</body>
</html>
```
把上述代码保存为 `ch2_examp7.htm` 并在浏览器中打开,会看到如下输出:
```
"56.02 degrees centigrade" is 56 as an integer
"56.02 degrees centigrade" when converted to an integer equals 56
"56.02 degrees centigrade" when converted to a floating point number equals 56.02
```
#### 3. 处理无法转换的字符串
有些字符串没法转换为数字,像不包含任何数字的字符串。若用 `parseInt()` 或 `parseFloat()` 处理这类字符串,会返回 `NaN`(Not a Number)。
JavaScript 里有个 `isNaN()` 函数,能检查某个值是否为 `NaN`。例如:
- `myVar1 = isNaN("Hello");` 会把 `true` 存入 `myVar1`,因为 “Hello” 不是数字。
- `myVar2 = isNaN("34");` 会把 `false` 存入 `myVar2`,因为 “34” 能成功转换为数字。
#### 4. 数组
数组和普通变量类似,能存储各种类型的数据,但普通变量一次只能存一个数据,而数组可以同时存多个数据。数组里每个存储数据的位置叫元素,通过索引值来区分不同元素,索引从 0 开始。
创建数组的方法如下:
- **使用 `new Array()`**:
```javascript
var myArray = new Array();
```
要注意代码大小写敏感,写成 `array()` 是不行的。
- **指定数组元素个数**:
```javascript
var myArray = new Array(6);
```
- **初始化数组元素**:
```javascript
var myArray = new Array("Paul",345,"John",112,"Bob",99);
```
不过不能用这种方式声明只含一个数值数据的数组,因为 JavaScript 会把这个数值当作数组元素的个数。也可以逐个给数组元素赋值:
```javascript
var myArray = new Array();
myArray[0] = "Paul";
myArray[1] = 345;
myArray[2] = "John";
myArray[3] = 112;
myArray[4] = "Bob";
myArray[5] = 99;
```
下面是一个创建数组存储名字并显示的示例代码:
```html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD
```
0
0
复制全文
相关推荐










