第八站: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的官方文档中查阅这些流程控制语句的详细用法。

相关推荐
编程零零七3 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
北岛寒沫4 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
everyStudy4 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
(⊙o⊙)~哦5 小时前
JavaScript substring() 方法
前端
无心使然云中漫步5 小时前
GIS OGC之WMTS地图服务,通过Capabilities XML描述文档,获取matrixIds,origin,计算resolutions
前端·javascript
Bug缔造者5 小时前
Element-ui el-table 全局表格排序
前端·javascript·vue.js
xnian_6 小时前
解决ruoyi-vue-pro-master框架引入报错,启动报错问题
前端·javascript·vue.js
麒麟而非淇淋7 小时前
AJAX 入门 day1
前端·javascript·ajax
2401_858120537 小时前
深入理解MATLAB中的事件处理机制
前端·javascript·matlab
阿树梢7 小时前
【Vue】VueRouter路由
前端·javascript·vue.js