第八站:JavaScript的数据类型、运算符、流程控制语句

第八站: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...switchforwhiledo...while,它们与Java中的控制语句几乎完全相同。你可以在W3School的官方文档中查阅这些流程控制语句的详细用法。

t中常见的流程控制语句包括if...else if...else...switchforwhiledo...while,它们与Java中的控制语句几乎完全相同。你可以在W3School的官方文档中查阅这些流程控制语句的详细用法。

相关推荐
迷雾漫步者26 分钟前
Flutter组件————FloatingActionButton
前端·flutter·dart
向前看-1 小时前
验证码机制
前端·后端
燃先生._.2 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js
高山我梦口香糖3 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
m0_748235243 小时前
前端实现获取后端返回的文件流并下载
前端·状态模式
m0_748240254 小时前
前端如何检测用户登录状态是否过期
前端
black^sugar4 小时前
纯前端实现更新检测
开发语言·前端·javascript
寻找沙漠的人4 小时前
前端知识补充—CSS
前端·css
GISer_Jing5 小时前
2025前端面试热门题目——计算机网络篇
前端·计算机网络·面试