第八站:JavaScript的数据类型、运算符、流程控制语句
🚀欢迎来到第八站《JavaScript的数据类型、运算符、流程控制语句》!在这一站,我们将深入探索JavaScript中的核心概念,为你揭示这个语言的奇妙之处。准备好继续冒险了吗?让我们开始吧!
一、数据类型
虽然JavaScript在声明变量时不需要指定类型,但它确实有数据类型的概念。在JavaScript中,数据类型可以分为原始类型和引用类型两类。
引用类型主要指的是JavaScript中的对象,而原始类型类似于Java语言中的基本数据类型,包括以下五种:
- number:数字(整数、小数、NaN(Not a Number))
- string:字符串,可以使用单引号或双引号表示
- boolean:布尔值,true或false
- null:表示对象为空
- undefined:当声明的变量未初始化时,默认值为undefined
我们知道JavaScript是一门弱类型的语言,那么如何判断变量的类型呢?JavaScript提供了typeof
运算符,通过它我们可以获取某个变量的数据类型。
var a = 20; alert(typeof a); // 输出"number"
接下来,我们将演示五种原始数据类型的使用:
<!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
。
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。
以下是类型转换的示例:
<!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的官方文档中查阅这些流程控制语句的详细用法。