返回

JavaScript基础(二):语法、变量声明(var、let、const)、关键字

前端

JavaScript 是一种流行的编程语言,它广泛应用于前端开发和后端开发中。为了更好地掌握 JavaScript,我们必须首先了解它的语法和基本概念。在这篇文章中,我们将重点讨论 JavaScript 的语法、变量声明的三种方式(var、let、const)、以及严格模式等内容。

JavaScript 语法

JavaScript 是一种基于原型、面向对象、解释型的高级编程语言。它的语法与 C 语言类似,但也有一些不同之处。JavaScript 的语法主要由以下部分组成:

  • 数据类型:JavaScript 中的数据类型包括数字、字符串、布尔值、数组、对象等。
  • 运算符:JavaScript 中的运算符包括算术运算符、比较运算符、逻辑运算符、赋值运算符等。
  • 控制流:JavaScript 中的控制流语句包括 if 语句、switch 语句、for 循环、while 循环等。
  • 函数:JavaScript 中的函数是代码的封装,它可以接受参数并返回结果。
  • 数组:JavaScript 中的数组是一种有序的数据结构,它可以存储相同类型的数据。
  • 对象:JavaScript 中的对象是一种无序的数据结构,它可以存储不同类型的数据。

变量声明的三种方式

在 JavaScript 中,变量声明有三种方式:var、let 和 const。这三种方式各有不同的特点和用法。

  • var:var 是 JavaScript 中最传统的变量声明方式。它允许你声明一个变量,并可以在声明之后对其重新赋值。
  • let:let 是 JavaScript 中 ES6 引入的新变量声明方式。它允许你声明一个变量,并且只能在声明之后对其赋值。
  • const:const 也是 JavaScript 中 ES6 引入的新变量声明方式。它允许你声明一个常量,并且一旦声明之后就不能再对其重新赋值。

JavaScript 关键字

关键字是 JavaScript 中预定义的保留字,它们具有特殊的含义,不能被用作变量名、函数名或其他标识符。JavaScript 中的关键字包括:

  • abstract:抽象类
  • arguments:函数参数对象
  • await:异步函数暂停执行
  • boolean:布尔值数据类型
  • break:跳出循环或 switch 语句
  • byte:字节数据类型
  • case:switch 语句中的 case 分支
  • catch:捕获异常
  • char:字符数据类型
  • class:类
  • const:常量声明
  • continue:继续执行循环
  • debugger:进入调试模式
  • default:switch 语句中的默认分支
  • delete:删除属性
  • do:do-while 循环
  • double:双精度浮点数数据类型
  • else:if 语句中的 else 分支
  • enum:枚举类型
  • eval:执行字符串中的代码
  • export:导出模块
  • extends:继承类
  • false:布尔值 false
  • final:final 类或方法
  • finally:try-catch-finally 语句中的 finally 块
  • float:单精度浮点数数据类型
  • for:for 循环
  • function:函数声明
  • goto:跳转到指定位置
  • if:if 语句
  • implements:实现接口
  • import:导入模块
  • in:in 运算符
  • instanceof:instanceof 运算符
  • int:整数数据类型
  • interface:接口
  • let:变量声明
  • long:长整数数据类型
  • native:本地代码
  • new:创建对象
  • null:null 值
  • package:包
  • private:私有成员
  • protected:受保护成员
  • public:公共成员
  • return:返回函数结果
  • short:短整数数据类型
  • static:静态成员
  • super:父类引用
  • switch:switch 语句
  • synchronized:同步方法或代码块
  • this:指向当前对象
  • throw:抛出异常
  • throws:声明方法可能抛出的异常
  • transient:瞬态成员
  • true:布尔值 true
  • try:try-catch-finally 语句中的 try 块
  • typeof:获取变量的数据类型
  • var:变量声明
  • void:void 运算符
  • volatile:volatile 变量
  • while:while 循环
  • with:with 语句

严格模式

严格模式是 JavaScript 中的一种特殊模式,它可以帮助我们写出更加健壮和安全的代码。严格模式会对 JavaScript 的某些语法和行为进行限制,例如:

  • 禁止使用未声明的变量。
  • 禁止对只读属性进行赋值。
  • 禁止对函数的参数进行重新赋值。
  • 禁止使用 eval() 函数。
  • 禁止使用 with 语句。

要启用严格模式,可以在脚本的开头添加 "use strict" 语句。例如:

"use strict";

var x = 10;

在严格模式下,如果我们试图使用未声明的变量,就会抛出 ReferenceError 异常。例如:

"use strict";

console.log(y); // ReferenceError: y is not defined

在严格模式下,如果我们试图对只读属性进行赋值,也会抛出 TypeError 异常。例如:

"use strict";

const x = 10;
x = 20; // TypeError: Assignment to constant variable.

在严格模式下,如果我们试图对函数的参数进行重新赋值,也会抛出 TypeError 异常。例如:

"use strict";

function add(x, y) {
  x = 20; // TypeError: Assignment to parameter.
}

add(10, 20);

在严格模式下,如果我们试图使用 eval() 函数,也会抛出 SyntaxError 异常。例如:

"use strict";

eval("var x = 10;"); // SyntaxError: Unexpected eval or arguments in strict mode

在严格模式下,如果我们试图使用 with 语句,也会抛出 SyntaxError 异常。例如:

"use strict";

with (obj) {
  // ...
} // SyntaxError: Unexpected with statement in strict mode

总结

在本文中,我们详细介绍了 JavaScript 的语法、变量声明的三种方式(var、let、const)、关键字以及严格模式等内容。这些知识对于初学者来说非常重要,它们可以帮助我们写出更加规范和高质量的 JavaScript 代码。