【JavaScript】JavaScript 变量 ② ( JavaScript 变量语法扩展 | 同时声明多个变量 | 只声明变量不赋值 | 不声明变量不赋值 | 不声明变量直接进行赋值 )

本文详细介绍了JavaScript中变量声明的不同方式,包括同时声明多个变量、只声明不赋值、不声明不赋值以及不声明直接赋值的情况。强调了不同声明方式的适用场景和潜在问题,特别是let和const的使用规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >





一、JavaScript 变量语法扩展



1、同时声明多个变量


在 JavaScript 中可以 使用一个 var 关键字 , 同时声明多个 变量 , 多个变量之间使用 逗号 " , " 隔开 ;

这种变量定义方法 , 只适用于 var 关键字 , let 和 const 关键字不能使用 ;

这种定义变量的方式已经过时 , 不推荐在现代 JavaScript 代码中使用 , 因为它可能会导致混淆和错误 ;


代码示例 :

        // 同时声明多个变量
        var name = "Tom",
            age = 18;

完整代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
    <script>
        // 同时声明多个变量
        var name = "Tom",
            age = 18;

        // 弹框中显示信息
        alert(name + " is " + age + " years old.")
    </script>
</head>

<body>
</body>

</html>

展示效果 :

在这里插入图片描述


2、只声明变量不赋值


在 JavaScript 中 ,

  • 使用 var 关键字函数作用域或全局作用域 中 声明变量 ,
  • 使用 let 关键字块级作用域 中 声明变量 ,

如果 声明时 , 不进行赋值 , 变量 会被自动初始化为 undefined 值 ;


如果 使用 const 关键字 在 块级作用域 中 声明常量 , 不进行赋值 , 直接报错 'const' declarations must be initialized. ; 该报错在编译时就会报错 ;

在这里插入图片描述


代码示例 :

        // 只声明变量不赋值
        var name;

        // 控制台输出信息
        console.log("name : " + name);

完整代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
    <script>
        // 只声明变量不赋值
        var name1;
        // 控制台输出信息
        console.log("name1 : " + name1);

        let age;
        // 控制台输出信息
        console.log("age : " + age);

        // 编译时报错 const' declarations must be initialized.
        //const con;

        // 不声明直接使用 , 会报错
        //console.log(age);
    </script>
</head>

<body>
</body>

</html>

执行后 , 在 浏览器控制台 中 , 打印出的未赋值的变量值都为 " undefined " ;

在这里插入图片描述


3、不声明变量不赋值


在 JavaScript 中 , 不声明变量 , 不对该变量进行赋值 , 直接使用该变量 , 编译时不报错 , 执行时会报错 :

demo.html:25 Uncaught ReferenceError: name2 is not defined
    at demo.html:25:21

代码示例 :

    <script>
        // 不声明 不赋值 , 直接使用 , 会报错
        console.log(name2);
    </script>

完整代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
    <script>
        // 不声明 不赋值 , 直接使用 , 会报错
        console.log(name2);
    </script>
</head>

<body>
</body>

</html>

执行后 , 在控制台中 , 报如下错误 :

Uncaught ReferenceError: name2 is not defined
    at demo.html:13:21
(anonymous) @ demo.html:13

在这里插入图片描述


4、不声明变量直接进行赋值


在 JavaScript 中 , 不声明变量 直接进行赋值 , 可以直接使用该变量 ;

如果 不显式声明变量 , 就直接进行 赋值使用 , 那么 这个变量会自动成为全局变量 , 在严格模式下直接报错 , 不推荐这种方法 ;


代码示例 :

    <script>
        // 不声明变量直接进行赋值
        // 该变量会变为全局变量
        name2 = "Jerry";
        console.log(name2);
    </script>

完整代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
    <script>
        // 不声明变量直接进行赋值
        // 该变量会变为全局变量
        name2 = "Jerry";
        console.log(name2);
    </script>
</head>

<body>
</body>

</html>

执行后 , 该 不声明 直接赋值 的变量 可以使用 ;

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值