一、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>
执行后 , 该 不声明 直接赋值 的变量 可以使用 ;