第八站:JavaScript的数据类型、运算符、流程控制语句
🚀欢迎来到第八站《JavaScript的数据类型、运算符、流程控制语句》!在这一站,我们将深入探索JavaScript中的核心概念,为你揭示这个语言的奇妙之处。准备好继续冒险了吗?让我们开始吧!
文章目录
一、数据类型
虽然JavaScript在声明变量时不需要指定类型,但它确实有数据类型的概念。在JavaScript中,数据类型可以分为原始类型和引用类型两类。
引用类型主要指的是JavaScript中的对象,而原始类型类似于Java语言中的基本数据类型,包括以下五种:
- number:数字(整数、小数、NaN(Not a Number))
- string:字符串,可以使用单引号或双引号表示
- boolean:布尔值,true或false
- null:表示对象为空
- undefined:当声明的变量未初始化时,默认值为undefined
我们知道JavaScript是一门弱类型的语言,那么如何判断变量的类型呢?JavaScript提供了typeof
运算符,通过它我们可以获取某个变量的数据类型。
javascript
var a = 20;
alert(typeof a); // 输出"number"
接下来,我们将演示五种原始数据类型的使用:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数据类型</title>
</head>
<body>
<script>
// 原始数据类型演示
alert(typeof 3); // 输出"number"
alert(typeof 3.14); // 输出"number"
alert(typeof "A"); // 输出"string"
alert(typeof 'Hello'); // 输出"string"
alert(typeof true); // 输出"boolean"
alert(typeof false); // 输出"boolean"
alert(typeof null); // 输出"object",这是一个历史遗留问题
var a;
alert(typeof a); // 输出"undefined",这是一个未初始化的变量
</script>
</body>
</html>
二、运算符
JavaScript中的运算符几乎与Java中的运算符完全相同,只有一个运算符===
是JavaScript独有的,也被称为全等运算符。全等运算符与双等号运算符的区别在于:
-
==
会进行类型转换,而===
不会进行类型转换。当使用
==
运算符比较两个值时,JavaScript会首先比较它们的类型,然后根据需要进行类型转换,并最终比较它们的值是否相等。而使用===
运算符进行比较时,不会进行类型转换,直接判断两个值是否完全相等。
全等运算符只有在类型和值都相同的情况下才会返回true
。
javascript
var a = 10;
alert(a == "10"); // 输出true
alert(a === "10"); // 输出false
alert(a === 10); // 输出true
三、类型转换
JavaScript中常见的类型转换包括:
- 字符串转为数字:将字符串字面值转为数字,如果字面值不是数字,则转为NaN(Not a Number)。
- 其他类型转为布尔类型:Number类型中的0和NaN转为false,其他数字转为true;String类型中的空字符串转为false,其他转为true;null和undefined均转为false。
以下是类型转换的示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JS-运算符</title>
</head>
<body>
<script>
var age = 20;
var _age = "20";
var $age = 20;
alert(age == _age); // 输出true
alert(age === _age); // 输出false
alert(age === $age); // 输出true
// 字符串转换为数字
alert(parseInt("12")); // 输出12
alert(parseInt("12A45")); // 输出12,遇到非数字字符停止转换
alert(parseInt("A45")); // 输出NaN,没有数字可转换
// 其他类型转换为布尔类型
if (0) {
alert("0 转换为false");
}
if (NaN) {
alert("NaN 转换为false");
}
if (-1) {
alert("除0和NaN的其他数字都转换为true"); // 这一行将输出,if表达式为true时执行括号内的内容
}
if (!"") {
alert("空字符串转换为false,其他转换为true");
}
if (!null) {
alert("null 转换为false");
}
if (!undefined) {
alert("undefined 转换为false");
}
</script>
</body>
</html>
四、流程控制语句
JavaScript中常见的流程控制语句包括if...else if...else...
、switch
、for
、while
和do...while
,它们与Java中的控制语句几乎完全相同。你可以在W3School的官方文档中查阅这些流程控制语句的详细用法。
t中常见的流程控制语句包括if...else if...else...
、switch
、for
、while
和do...while
,它们与Java中的控制语句几乎完全相同。你可以在W3School的官方文档中查阅这些流程控制语句的详细用法。