JavaScript 保留关键字 功能 用法运用 详解

news/2025/3/10 20:52:20/文章来源:https://www.cnblogs.com/baisemoshui/p/18763632

JavaScript 中的保留关键字是语言中具有特殊含义的单词,它们用于表示语言的关键概念、控制结构和语法规则。这些关键字不能被用作变量名、函数名或其他标识符,因为它们已经在语言中被预定义并赋予了特定的功能。以下是对 JavaScript 保留关键字的详细解析,包括其功能、用法及运用示例。

保留关键字列表

JavaScript 的保留关键字包括但不限于以下这些:

  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • export
  • extends
  • finally
  • for
  • function
  • if
  • import
  • in
  • instanceof
  • new
  • return
  • super
  • switch
  • this
  • throw
  • try
  • typeof
  • var
  • void
  • while
  • with(已不推荐使用)

功能与用法

  1. 数据类型与声明

    • var:用于声明变量。尽管在 ES6 之后,推荐使用 letconst,但 var 仍然有效。
    • let:用于声明块作用域的局部变量。
    • const:用于声明块作用域的只读常量。一旦赋值,就不能再改变。
    • function:用于声明函数。
    var x = 10;
    let y = 20;
    const z = 30;function greet(name) {return 'Hello, ' + name;
    }
    
  2. 控制流语句

    • ifelse:用于条件判断。
    • switchcasedefault:用于多分支选择结构。
    • forwhiledo...while:用于循环结构。
    • break:用于退出循环或 switch 语句。
    • continue:用于跳过当前循环的剩余部分,开始下一次迭代。
    if (x > 0) {console.log('x is positive');
    } else {console.log('x is not positive');
    }for (let i = 0; i < 5; i++) {if (i === 3) {continue; // 跳过 i = 3 的迭代}console.log(i);
    }
    
  3. 错误处理

    • trycatchfinally:用于异常处理。
    • throw:用于抛出异常。
    try {let result = 10 / 0; // 将抛出异常
    } catch (e) {console.log('Error: ' + e.message);
    } finally {console.log('This will always run');
    }
    
  4. 函数和对象

    • class:用于定义类。
    • extends:用于类的继承。
    • super:用于调用父类的方法或访问父类的属性。
    • this:指向当前执行上下文的对象。
    • new:用于创建对象的实例。
    class Animal {constructor(name) {this.name = name;}speak() {return 'Some sound';}
    }class Dog extends Animal {speak() {return 'Woof! Woof!';}
    }let myDog = new Dog('Buddy');
    console.log(myDog.speak()); // 输出: Woof! Woof!
    
  5. 模块导入导出

    • import:用于导入模块或模块中的特定成员。
    • export:用于导出模块或模块中的特定成员。
    // module.js
    export function greet(name) {return 'Hello, ' + name;
    }// main.js
    import { greet } from './module.js';
    console.log(greet('Alice')); // 输出: Hello, Alice
    
  6. 其他

    • debugger:用于在代码中设置断点,供开发者工具进行调试。
    • typeof:用于获取变量的类型。
    • void:计算一个表达式并返回 undefined
    • delete:用于删除对象的属性。
    • in:用于检测对象是否包含某个属性。
    • instanceof:用于检测对象是否是一个类的实例。
    let obj = { a: 1 };
    console.log(typeof obj); // 输出: object
    console.log('a' in obj); // 输出: true
    delete obj.a;
    console.log('a' in obj); // 输出: false
    

运用示例

以下是一个综合使用多个保留关键字的示例,展示了一个简单的表单验证功能:

class FormValidator {constructor(form) {this.form = form;}validate() {let valid = true;for (let field of this.form.elements) {if (field.required && field.value === '') {console.log(`${field.name} is required`);valid = false;}}return valid;}
}document.addEventListener('DOMContentLoaded', () => {let form = document.getElementById('myForm');let validator = new FormValidator(form);form.addEventListener('submit', (event) => {if (!validator.validate()) {event.preventDefault(); // 阻止表单提交}});
});

HTML 部分:

<form id="myForm"><label for="name">Name:</label><input type="text" id="name" name="name" required><br><label for="email">Email:</label><input type="email" id="email" name="email" required><br><button type="submit">Submit</button>
</form>

总结

JavaScript 的保留关键字是语言的基础组成部分,它们在语法和逻辑上扮演着重要角色。了解这些关键字的功能、用法及正确运用,对于编写高效、可维护的 JavaScript 代码至关重要。在编写代码时,应避免使用保留关键字作为变量名、函数名或其他标识符,以免引发语法错误或逻辑混乱。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/896970.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nodejs的下载安装

首先进入官网https://nodejs.cn/download/ 左边是稳定版,右边是最新版,安装自己想要的版本 安装到自己想要的路径下 一直next,这步不要勾选 然后install 在安装路径下创建两个文件夹,分别是node_cache和node_global 配置环境变量 再在系统path中添加%NODE_HOME%、%NODE_HOM…

安卓虚拟机的创建

在android studio上创建一个安卓虚拟机 可以选择手机型号 可选的都是谷歌的手机 而且对应的ui都是原生安卓ui 随便选就好 记得安卓版本不要太老,没必要虚拟机运行起来之后就会在边上有个视图

android studio的下载

进入android studio官网下载即可,中间所有东西点同意和next就行

Vue3--ref - reactive

reactive可以深层次对比ref定义对象类型是借用reactive总结

征程 6 工具链 BEVPoolV2 算子使用教程 【2】-BEVPoolV2 QAT 链路实现示例

1.引言 在上一篇帖子中,我们已详尽阐述了 BEVPoolV2 相较于 BEVPoolV1 的改进之处,并对 BEVPoolV2 实现的代码进行了解析。想必大家对 BEVPoolV2 算子的功能及实现已有了一定程度的理解,此篇帖子将展示 征程 6 工具链 BEVPoolV2 单算子 QAT 链路的实现范例,以进一步增进用户…

包装类--java进阶day05

1.包装类比如要让s+100,输出223.如果直接相加,结果是123100,这时就可以将s转换为包装类,然后再用包装类进行相加 2.包装类类型3.手动拆/装箱 我们这里只介绍Integer,其他包装类都是一个模板 第一个方式已经过时,不建议使用.4.自动拆/装箱.5.包装类常用方法 可以直接类名调…

掌握这些 UI 交互设计原则,提升产品易用性

在当今数字化时代,用户对于产品的体验要求越来越高,UI 交互设计成为决定产品成败的关键因素之一。一个易用的产品能够让用户轻松、高效地完成各种操作,而实现这一目标的核心在于遵循一系列科学合理的 UI 交互设计原则。本文将详细阐述简洁性、一致性、反馈、可访问性以及用户…

C++ this

今天开始进入C++学习了,之前的这周末复习下 侧重与底层原理 当把函数放到结构体里面,编译器会帮我们传递一个参数:结构体的地址this指针本质就是对象地址

【由技及道】镜像星门开启:Harbor镜像推送的量子跃迁艺术【人工智障AI2077的开发日志010】

当构建产物需要穿越多维宇宙时,当Docker镜像要同时存在于72个平行世界——这就是镜像推送的量子艺术。本文记录一个未来AI如何通过Harbor建立镜像星门,让每个构建产物都能瞬间抵达所有维度。![量子镜像跃迁示意图]( 摘要:当构建产物需要穿越多维宇宙时,当Docker镜像要同时存…

构造矩形

构造矩形 题目描述 现有 \(n\) 条长度为 \(m\) 的线段,垂直于 x 轴分布,且互不重合。第 \(i\) 条线段的两个端点均为整数点,分别为 \((a_i, 0)\) 和 \((a_i, m)\)。每条线段上有 \(m+1\) 个整数点,纵坐标分别为 \(0, 1, 2, …, m\)。 现在,你需要选择两条不同的线段,并在…

Llama 4 即将发布,引入语音能力;AI 智能运动眼镜 BleeqUp:实时对讲、AI 自动成片等功能丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 观点 」、「有看点的 活动 」,但内容仅代表编辑…

BigDecimal类--java进阶day05

1.BigDecimal出现的原因2.BigDecimal的创建不推荐第一种形式,会有误差第二种方式创建对象第三种方式调用方法2.BigDecimal常用方法除法的特殊事项 如果有除不尽的情况,常规的除法会出现问题divide的另一种方法 divide还有一个重载方法,可以解决除不尽的问题舍入模式中,进一…